2012-02-18 57 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 
} 
相關問題