自定义tableview控制器的单元格文本

时间:2017-09-04 13:19:56

标签: ios swift uitableview

我有一个自定义的tableview控制器,它有3个部分。

1第一部分有一个集合视图。 现在我想将文本(长度小于1000个字符)添加到第二部分的第一个单元格中。

我计划将该单元格样式设为基本,因此我可以添加标题。

  1. 如何拨打cell.title.text = myString
  2. 我的意思是我想要像

    这样的东西
    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        if tableView.section == 2 and cell == 1 {
            cell.title.text = myString
            return cell
        }
    }
    
    1. 因为myString长度在0到1000个字之间。如何根据myString
    2. 的长度更改单元格基数的高度

      由于

1 个答案:

答案 0 :(得分:1)

第一个问题

首先设置单元格的标识符。如果您正在使用故事板,请在选择单元格时在“属性”检查器的“标识符”字段中添加值。

我们假设您将该标识符设置为"basic"。然后写下面的代码:

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    if indexPath.section == 1 && indexPath.row == 0 {
        // Section and row numbers start from 0, like practically everything else
        // in Cocoa, so 1 is the second section, and 0 is the first row.
        let cell = tableView.dequeueReusableCell(withIdentifier: "basic")! // Get a cell from the table view
        cell.textLabel?.text = myString // Set the string
        return cell
    }
}

第二个问题

要在字符串较长时允许文本字段的高度增加,只需将单元格中标签的numberOfLines属性设置为较大的数字(或者根据字符长度以某种方式计算的数字)字符串)。例如,在上面的方法中,在return cell之前,插入以下行:

cell.textLabel?.numberOfLines = 1000

numberOfLines属性,根据其文档,是用于呈现文本的最大行数,因此将其设置为a不应该有任何问题。数量非常大。它仍然会根据字符串的长度调整大小。