我需要添加单元格标识符才能为tableView
创建ReusableCell。但是,我在cell
属性和表格视图分层中看不到任何tableView
。如何在表视图中添加单元格。
注意:基本上我想创建一个Xib
文件,该文件应包含tableView
且tableView
应该有自定义UiTableViewCell
代码在这里:
class SuggestNearTableViewCollectionViewCell: UICollectionViewCell , UITableViewDataSource,UITableViewDelegate{
@IBOutlet weak var suggestTableView : UITableView!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
self.suggestTableView.dataSource = self
self.suggestTableView.delegate = self
suggestTableView.register(UINib(nibName: "SuggestNearTableViewCell", bundle: nil), forCellReuseIdentifier: "SuggestNearTableViewCell")
}
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 5
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "SuggestNearTableViewCell", for: indexPath) as! SuggestNearTableViewCell
return cell
}
}
答案 0 :(得分:0)
在tableViewController
中的viewDidLoad
内,你应该像这样注册:
tableView.registerNib(UINib(nibName: "CustomOneCell", bundle: nil), forCellReuseIdentifier: "CustomCellOne")
在cellForRowAtIndexPath
内,只需声明单元格:
let cell: CustomOneCell = tableView.dequeueReusableCellWithIdentifier("CustomCellOne", forIndexPath: indexPath) as! CustomOneCell
如果你没有在tableViewController
内进行,那么你必须连接你的tableView
和代表:
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var tableView: UITableView!
...
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
// Table view delegate
self.tableView.delegate = self
self.tableView.dataSource = self
...
答案 1 :(得分:0)
首先转到File->新的 - > Cocoa Touch Class并创建UIViewCOntroller类。相应地命名你的课程。
现在您将拥有一个Xib文件和一个Swift文件。 Xib看起来像这样。
现在在Xib上拖放一个UITableView并给它4针约束,如top = 0,bottom = 0,leadin = 0,trailing = 0。现在在新创建的swift文件中创建tableView的插座。同时连接数据源和委托。
现在再次转到File-> New-> Coucoa Touch Class和为UItableViewCell创建一个类也会创建一个如下所示的Xib文件。
现在你的单元格有一个Xib,你的单元格有一个swift文件。只需在此Xib中根据需要设计您的单元格。让我们说如果你想放一个imageView或标签等然后在自定义单元格的swift文件中创建所有组件的出口。现在将此函数添加到自定义单元格的swift文件中。
class func cellForTableView(tableView: UITableView, atIndexPath indexPath: NSIndexPath) -> YourCustomTableViewCell {
let kYourCustomTableViewCellIdentifier = "kYourCustomTableViewCellIdentifier"
tableView.registerNib(UINib(nibName: "YourCustomTableViewCell", bundle: NSBundle.mainBundle()), forCellReuseIdentifier: kYourCustomTableViewCellIdentifier)
let cell = tableView.dequeueReusableCellWithIdentifier(kYourCustomTableViewCellIdentifier, forIndexPath: indexPath) as! YourCustomTableViewCell
return cell
}
您的自定义单元格已准备就绪。
现在转到tableView的swift文件,在你的cellForRowAtIndexPath中使用如下所示的单元格。
let cell = YourCustomTableViewCell.cellForTableView(tableView, atIndexPath: indexPath)
cell.myImageView.image = "something"
// Do something with your cell
我希望它会有所帮助。如果您发现任何困难,请告诉我。