我在故事板中创建了一个自定义的UITableView单元格。以前我用的是"字幕"单元格的样式,但我现在使用由2个UILabels组成的自定义设计。
我现在如何访问这些UILabels?在我使用这两个自定义UILabel之前我会使用:
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)
cell.textLabel?.text = pollContent
cell.detailTextLabel?.text = dateString
中的
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {}
方法
但由于单元格样式现在设置为" custom"我不能再这样做了。 我遇到的问题是,我真的不知道如何使用IBOutlets将这两个UILabel以某种方式连接到我的ViewController类?
我还创建了一个自定义的UITableViewCell类并将UILabel连接到那个但是如何从ViewController获取每个单元格的UILabel内容?
更新: 所以我现在用我的自定义UITableViewCell转换单元格,然后在我的类中添加了以下代码行:
self.textLabel = titleLabel
self.detailTextLabel = subTitleLabel
其中titleLabel和subTitleLabel都是我的UILabel。
但是我收到的错误信息是.textLabel和.detailTextLabel都是get-only属性。
更新2: 感谢您的所有答案/建议。你可能猜到,我仍然是编程的新手!
当我解决问题时,我会回来。
更新3:再次感谢您的帮助!它现在终于奏效了。
答案 0 :(得分:2)
您需要将单元格转换为自定义单元格。
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as? CustomTableViewCell
cell.customLabel1.text = pollContent
cell.customLabel2.text = dateString
答案 1 :(得分:0)
1.您需要创建一个扩展UITableViewCell的CustomUITableViewCell类。
2.将您的IBOutlets添加到此CustomUITableViewCell。
3.将Cell类设置为您刚在故事板中创建的CustomUITableViewCell。
4.改变这个
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as CustomUITableViewCell
cell.textLabel?.text = pollContent
cell.detailTextLabel?.text = dateString
答案 2 :(得分:0)
请尝试:
self.textLabel.text = titleLabel
self.detailTextLabel.text = subTitleLabel
如需设置文字,请点击这些标签。
答案 3 :(得分:0)
答案 4 :(得分:0)
为您的uilabels标签属性设置一些唯一值。
稍后在
中获取它们像这样:cellForItemAtIndexPath
UILabel *label = (UILabel*)[cell viewWithTag:yourTagNumber];
BTW:当您的单元格样式为Custom
时,请勿尝试指定textLabel和detailTextLabel。仅当样式为Subtitle
时,它们才可用。否则,它们是零。