我正在尝试构建一个看起来非常类似于默认iOS日历应用的演示应用。我几乎已经完成了,但我不完全确定在TableView上应用自定义单元格的最佳做法。
查看屏幕截图(见下文),默认应用程序具有给定日期所有事件的TableView。我应该如何将这种造型应用到我的细胞中?
目前,我有这个(基本上用我的viewDidAppear
方法调用:
因为TableView是以编程方式应用的,所以我不完全确定去哪里。下面是我的TableView代码:
let cellReuseIdentifier = "eventCell"
let offsetY = {% Some fancy calculation here to get offset pos %}
let height = {% Just as above but to determine remaining height %}
tableView.frame = CGRectMake(0, offsetY, screenSize.width, height)
tableView.delegate = self
tableView.dataSource = self
tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: cellReuseIdentifier)
view.addSubview(tableView)
具体的数据源方法:
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return selectedEvents.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
// create a new cell if needed or reuse an old one
let cell = tableView.dequeueReusableCellWithIdentifier(cellReuseIdentifier)!
let event = selectedEvents[indexPath.row]
// set the text from the data model
cell.textLabel?.text = "\(event.startTime) - \(event.endTime) | \(event.summary)"
return cell
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
print("You tapped cell number \(indexPath.row).")
}
任何指导将不胜感激:)
答案 0 :(得分:0)
看起来应该是这样的:
tableView.registerClass(CustomCellClass.self, forCellReuseIdentifier: "CustomCellClasId")
然后:
internal func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
if let cell = tableView.dequeueReusableCellWithIdentifier("CustomCellClassId", forIndexPath: indexPath) as? CustomCellClass{
// set up cell
return cell
}
}