我在Swift中有一个自定义的tableview单元格作为xib文件,这很好,我有一个链接到它的swift文件。
像这样:import UIKit
class CustomTableViewCell: UITableViewCell {
@IBOutlet weak var CellTitle: UILabel!
@IBOutlet weak var CellLocation: UILabel!
@IBOutlet weak var CellDate: UILabel!
@IBOutlet weak var Type: UIImageView!
@IBOutlet weak var TypeText: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
}
IBOutlets只是UILabels和UIImageViews的链接,但这些目前不需要任何值,因为它们现在被添加到设计中。
我有一个ViewController文件,它链接到故事板上的一个视图控制器,上面有一个tableview。 这是我用过的代码,但是如何使用我在这个tableview(视图控制器)上创建的customCell。
import UIKit
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 0
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("tableCell", forIndexPath: indexPath) as UITableViewCell
return cell
}
}
任何帮助都会很棒,谢谢
我已添加:
var nib = UINib(nibName: "CustomTableViewCell", bundle: nil)
tableView.registerNib(nib, forCellReuseIdentifier: "customCell")
注册nib名称并在tableview中注册单元格,我还将cellforindexpath更改为:
var cell:CustomTableViewCell = self.tableView.dequeueReusableCellWithIdentifier("CustomCell") as CustomTableViewCell
答案 0 :(得分:1)
cellIdentifier是不同的。错字?
tableView.registerNib(nib, forCellReuseIdentifier: "customCell")
var cell:CustomTableViewCell = self.tableView.dequeueReusableCellWithIdentifier("CustomCell") as CustomTableViewCell
答案 1 :(得分:0)
试试这个!!
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.delegate = self
self.tableView.datasourse = self
self.tableView.registerNib(nib, forCellReuseIdentifier: "customCell")
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 0
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("tableCell", forIndexPath: indexPath) as UITableViewCell
return cell
}