UILabels和自定义UITableView单元格

时间:2016-04-27 17:22:07

标签: ios swift uitableview class

我在故事板中创建了一个自定义的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:再次感谢您的帮助!它现在终于奏效了。

5 个答案:

答案 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)

似乎您还必须在属性检查器

中设置单元格标识符

enter image description here

答案 4 :(得分:0)

为您的uilabels标签属性设置一些唯一值。

稍后在

中获取它们
  

cellForItemAtIndexPath

像这样:

UILabel *label = (UILabel*)[cell viewWithTag:yourTagNumber];

BTW:当您的单元格样式为Custom时,请勿尝试指定textLabel和detailTextLabel。仅当样式为Subtitle时,它们才可用。否则,它们是零。