我想在 UIView 中创建 UITableView
但它不起作用。
这是我的代码-
import UIKit
import SnapKit
class ReorderView: UIView, UITableViewDataSource, UITableViewDelegate {
var tableView = UITableView()
let screenHeight = UIScreen.mainScreen().bounds.height
let screenWidth = UIScreen.mainScreen().bounds.width
override init(frame: CGRect){
super.init(frame: frame)
tableView.delegate = self
tableView.dataSource = self
tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
setup()
}
func setup() {
self.backgroundColor = UIColor.blackColor()
tableView = UITableView(frame: CGRect(x: 0, y: 0, width: screenWidth*0.5, height: screenHeight))
tableView.layer.backgroundColor = UIColor.blackColor().CGColor
self.addSubview(tableView)
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 10
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as UITableViewCell
cell.textLabel?.text = "heyjkhl;jhgjlk/vjhgghg"
return cell
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
最佳答案
在设置委托(delegate)之前更改您的init
方法并调用setup()
,因为您正在设置delegate
和datasource
在初始化 UITableView
之前。
override init(frame: CGRect){
super.init(frame: frame)
setup()
tableView.delegate = self
tableView.dataSource = self
tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
}
关于ios - UIView Swift 中的 UITableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38801649/