0
我有一個UITableView有兩個部分,我有一個按鈕,它將tableview更改爲編輯模式,但只有底部部分是可編輯的。在選定的單元格中的UITableView中的部分之間滾動
當我選擇行並只在底部(處於編輯模式)時滾動時,行會保持選擇狀態。但是,如果我向上滾動直到底部部分被隱藏並返回底部部分,則選擇已被清除。
部分之間的滾動清除選擇。
這是怎麼發生的?這怎麼解決?
我有一個UITableView有兩個部分,我有一個按鈕,它將tableview更改爲編輯模式,但只有底部部分是可編輯的。在選定的單元格中的UITableView中的部分之間滾動
當我選擇行並只在底部(處於編輯模式)時滾動時,行會保持選擇狀態。但是,如果我向上滾動直到底部部分被隱藏並返回底部部分,則選擇已被清除。
部分之間的滾動清除選擇。
這是怎麼發生的?這怎麼解決?
所以只是爲了後人。一般來說,即使tableview單元格是相同的類,如果它們具有不同的行爲,如editabilty,通常最好有兩個獨立的CellIdentifier字符串以避免狀態之間的很多切換。
可以簡單如
static NSString *CellIdentifier = @"Cell";
static NSString *CellIdentifier2 = @"Cell2";
NSString *identifierString = indexPath.section == 0 ? CellIdentifier:CellIdentifier2;
MYTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifierString];
if (!cell)
cell = [[MYTableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifierString];
的可能的複製[UITableView中選擇的小區沒有保持選定滾動時(http://stackoverflow.com/questions/13275405/uitableview-selected-cell-doesnt - 滾動時選擇支持) –
這兩個部分是否有兩個不同的單元格標識符? – Magoo
不,它們是相同的,因爲它們與故事板中的單元格相同。 – daniel3223