我正在尝试以编程方式在swift中创建一个uitableview但是这里没有加载我的代码:
class ViewController: UIViewController, UITableViewDelegate,UITableViewDataSource {
var tableView: UITableView = UITableView()
override func viewDidLoad() {
super.viewDidLoad()
tableView.delegate = self
tableView.dataSource = self
tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
self.view.addSubview(self.tableView)
}
你们中的任何人都知道我错过了什么或者我的代码出了什么问题?
我真的很感谢你的帮助。
答案 0 :(得分:10)
override func viewDidLoad() {
super.viewDidLoad()
tableView = UITableView(frame: UIScreen.mainScreen().bounds, style: UITableViewStyle.Plain)
tableView.delegate = self
tableView.dataSource = self
tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
self.view.addSubview(self.tableView)
}
tableView = UITableView(frame:UIScreen.mainScreen()。bounds,style:UITableViewStyle.Plain)
这行代码会设置tableview
的框架,默认UITableViewStyle
。
答案 1 :(得分:1)
迟到但可以帮助别人,你必须补充:
tableView.translateAutoresizingMaskIntoConstraints = false
答案 2 :(得分:1)
试试这个:
override func viewDidLoad() {
super.viewDidLoad()
let screenSize:CGRect = UIScreen.mainScreen().bounds
tableView.frame = CGRectMake(0, 0, screenSize.width, screenSize.height)
tableView.delegate = self
tableView.dataSource = self
tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
self.view.addSubview(self.tableView)
}
您可以将自定义框架指定为:CGRectMake(x,y,width,height) 这里宽度和高度指的是所需的桌面宽度和宽度。身高
答案 3 :(得分:1)
SWIFT 3.x
//MARK: Create TableView
func createTableView() -> Void {
print("Create Table View.")
if self.tblView == nil{
self.tblView = UITableView(frame: UIScreen.main.bounds, style: .plain)
self.tblView.delegate = self
self.tblView.dataSource = self
self.tblView.register(UITableViewCell.self, forCellReuseIdentifier: "cell")
self.view.addSubview(self.tblView)
}
else{
print("Table view already has been assigned.")
}
}
答案 4 :(得分:0)
在设置代理人之前,请使用
tableView = UITableView(frame: UIScreen.mainScreen().bounds, style: UITableViewStyle.Plain)
它会正常工作
答案 5 :(得分:0)
SWIFT 3:
var tableView: UITableView = UITableView()
override func viewDidLoad() {
super.viewDidLoad()
tableView = UITableView(frame: UIScreen.main.bounds, style: .plain)
tableView.delegate = self
tableView.dataSource = self
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "Cell")
self.view.addSubview(tableView)
}
答案 6 :(得分:0)
SWIFT 3x
tableView.register(UINib(nibName: "cell", bundle: nil), forCellReuseIdentifier: "cell")