2016-04-14 34 views
0

我有一個UITableView有兩個部分,我有一個按鈕,它將tableview更改爲編輯模式,但只有底部部分是可編輯的。在選定的單元格中的UITableView中的部分之間滾動

當我選擇行並只在底部(處於編輯模式)時滾動時,行會保持選擇狀態。但是,如果我向上滾動直到底部部分被隱藏並返回底部部分,則選擇已被清除。

部分之間的滾動清除選擇。

這是怎麼發生的?這怎麼解決?

+0

的可能的複製[UITableView中選擇的小區沒有保持選定滾動時(http://stackoverflow.com/questions/13275405/uitableview-selected-cell-doesnt - 滾動時選擇支持) –

+0

這兩個部分是否有兩個不同的單元格標識符? – Magoo

+0

不,它們是相同的,因爲它們與故事板中的單元格相同。 – daniel3223

回答

0

所以只是爲了後人。一般來說,即使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]; 
相關問題