Изменить текст в статической ячейке UITableView? - PullRequest
7 голосов
/ 18 февраля 2012

Я использую табличное представление «Статические ячейки», созданное в моем файле раскадровки.Однако я хотел бы обновить текст в одной из этих ячеек при изменении настройки.

Я нажимаю контроллер представления, который обновляет настройку.Я пытаюсь использовать обратный вызов, чтобы изменить текст ячейки, когда она извлекается из стека, но к этому моменту ячейка, по-видимому, была переработана или повторно использована, поэтому старый объект не отображается и больше не используется в табличном представлении.

Можно ли как-нибудь обновить этот текст и сделать его постоянным (чтобы при прокрутке ячейки с экрана и ее возврате новое значение все еще появлялось)?

Ответы [ 2 ]

21 голосов
/ 19 февраля 2012

Предполагая, что ваша иерархия табличного представления имеет вид:

Table View (static cells)
 - Table View Section
  - Table View Cell
    - UILabel (with the text property you want to modify)
  1. Объявите IBOutlet UILabel в своем коде и подключите его в UILabel раскадровки в табличном представлениивышеприведенная иерархия.
  2. В методе обратного вызова установите свойство текста UILabel, как считаете нужным.
2 голосов
/ 06 мая 2016

Вы можете сохранить текст, который вы хотите изменить, как свойство и использовать его в:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = super.tableView(tableView, cellForRowAtIndexPath: indexPath)

    switch (indexPath.section, indexPath.row) {
    case (0, 3):
        cell.textLabel?.text = yourProperty

    default: break
    }

    return cell
}
...