2012-02-18 52 views
7

我正在使用在故事板文件中创建的“静态单元”表格视图。但是,如果设置发生更改,我想更新其中一个单元格上的文本。修改静态UITableView单元格中的文本?

我推着更新设置的视图控制器。我试图用一个回调来改变单元格的文本,当它弹出堆栈时,但是由于这一点,单元格显然已被回收或重用,所以旧对象不在屏幕上,不再用于表格视图。

有没有一种方法可以更新这个文本,并使其成为永久性的(以便当单元格在屏幕上滚动并返回时,新值仍然出现)?

+0

你为什么会更新该是屏幕外的单元格的文本?你应该知道细胞可以被回收。相应地更新它们。 – Mark 2012-02-18 16:21:47

+0

你将不得不使用静态单元格。您必须设置一个委托才能在单元再次出现时生成已更改的单元版本。 – Tobias 2012-02-18 16:28:28

回答

19

假设你的表视图层次是沿着线:

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的文本属性。
0

你可以存储你想改变的属性,并使用它在文本:

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 
} 
相关问题