2012-06-11 118 views
0

我開發與UITableView。我已經實現了複選標記在每個單元一個iPhone應用程序與didSelectRowAtIndexPath代表。現在我想選擇一個禁用所有其他單元格的單元格(刪除複選標記),反之亦然。 (例如:要選擇第八細胞,其中顯示第8單元中的複選標記並取出oher細胞的複選標記,然後選擇其他細胞顯示了在該單元格的複選標記並取出8日小區中的複選標記)。的UITableView單元選擇影響另一個UITableView的細胞在相同的UITableView

如何實現這UITableView

如果有人知道,請幫助我。

NSInteger currentlyCheckedRow; 
NSInteger currentlyCheckedSection; 

在你的初始化方法,設置currentlyCheckedRowcurrentlyCheckedSection爲負整數,如-1使:

+0

你跟蹤另一個源單元格內容的來源,如陣列? –

+0

感謝ü烏拉圭回合replay.yes,我使用的是NSMutableArray的數據源爲感謝 – John

回答

0

您可以通過添加這兩個實例變量到你的UITableViewController類跟蹤哪個小區當前已達到本它不與任何可能的行值匹配。

以下內容添加到您的-tableView:cellForRowAtIndexPath:方法:

// determine if cell should have checkmark 
cell.accessoryType = UITableViewCellAccessoryNone; 
if ((indexPath.row == currentlyCheckedRow) && 
    (indexPath.section == currentlyCheckedSection)) 
{ 
    cell.accessoryType = UITableViewCellAccessoryCheckmark; 
}; 

更新currentlyCheckedRow伊娃時-tableView:didSelectRowAtIndexPath:叫做:

currentlyCheckedRow = indexPath.row; 
currentlyCheckedSection = indexPath.section; 
[tableView reloadData]; 
+0

ü爲您replay.I有一個問題,假設表視圖有6個,我想點擊第6單元格,那麼所有其他細胞檢查將刪除並單擊其他單元格(1到5個單元格)第6個單元格複選標記將被刪除。這意味着在時間第六小區選擇或1至5個細胞的選擇是可能的表view.How實現這個? – John