當我選擇一行我hav使didSelectRowAtIndexPath放置一個複選標記指示器。我的表格視圖存在於彈出式窗口中,並且可以在屏幕中容納更多的數據。問題是,當我向下滾動查看更多的行時,第一個單元格加載時,滾動也有複選標記指示器。didselectrowatindexpath方法無法正常工作,如果tableview有更多的行比它可以顯示在ipad屏幕上
例如,如果我在我的表格視圖中有30行,並且如果我選擇我在屏幕上的行並且屏幕可以容納15行。如果我滾動查看更多的第16行也有複選標記。 同樣,如果我選擇2行並向下滾動第17行也被選中。
我需要一次只有一個用戶選擇的行。我didselectrowatindexpth不是一致工作。如果任何人有一個適當的工作vesion請分享或建議我如何解決這個問題。 另外,我在我的表格視圖中有兩個部分。所以用戶可以從任何一個部分只選擇一行。
我的didSelectRowAtIndexPath代碼。
int newRow = [indexPath row];
int oldRow = (lastIndexPath != nil) ? [lastIndexPath row] : -1;
if (newRow != oldRow || (newRow == 0 && oldRow == 0)) {
UITableViewCell *cell = [bTableView cellForRowAtIndexPath:indexPath];
[cell setAccessoryType:UITableViewCellAccessoryCheckmark];
UITableViewCell *oldCell = [bTableView cellForRowAtIndexPath:lastIndexPath];
oldCell.accessoryType = UITableViewCellAccessoryNone;
lastIndexPath = indexPath;