我已經實現了與自定義單元格的tableview。在iPhone中滾動UITableView的問題..滾動向上/向下數據更改/重新加載
1.Custom細胞
自定義帶有標記,以顯示日期和一個UI切換到設置警報細胞。
我的表視圖似乎喜歡這樣,當我們接通uiswitches,
2。表視圖
When user scrolls down the table view the bottom switches are turned off
山姆滾動時出現問題。
爲什麼這個問題會發生什麼呢?以及如何預防它?在索引路徑方法
細胞用於行
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
// Note: I set the cell's Identifier property in Interface Builder to DemoTableViewCell.
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
{
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue2 reuseIdentifier:CellIdentifier] autorelease];
}
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
//To display custom cell with label and switch
if(indexPath.row< [appDelegate.alarmsArray count])
{
ReminderCell *cell = (ReminderCell *)[tableView dequeueReusableCellWithIdentifier:CellClassName];
if (!cell)
{
NSArray *topLevelItems = [cellLoader instantiateWithOwner:self options:nil];
cell = [topLevelItems objectAtIndex:0];
}
cell.reminderSwitch.tag = indexPath.row;
NSMutableDictionary *dict = [appDelegate.alarmsArray objectAtIndex:indexPath.row];
cell.label.text = [dict objectForKey:@"string"];
//=========================================
cell.reminderSwitch.on = NO;
//=========================================
return cell;
}
//Add + button on the last row of uitableview cell..
if(indexPath.row == [appDelegate.alarmsArray count])
{
UIButton *button = [UIButton buttonWithType:UIButtonTypeContactAdd];
button.frame = CGRectMake(114, 9.5, 33, 33);
[button addTarget:self action:@selector(AddNewRow:) forControlEvents:UIControlEventTouchUpInside];
[cell.contentView addSubview:button ];
return cell;
}
return cell;
}
請附上您的cellForRowAtIndexPath方法,在其中設置開關打開或關閉。 – jrturton
您是否正在存儲交換機的值?你在重複使用單元格嗎?你在使用UITableViewCell的子類嗎?您是否在該子類中正確使用prepareForReuse方法? – EmilioPelaez
請張貼您的代碼如何維護開關的開/關狀態? –