我遇到一些分段控件的问题: 我有一个包含10个单元格的tableview,所有单元格都有一个分段控件。
现在我的问题: 如果我更改分段控件的选定索引并向上或向下滚动,则某些分段控件的选定索引会发生变化。
有人有什么想法是假的吗?
//编辑:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *CellIdentifier;
CellIdentifier = @"editCell";
cellList[indexPath.row-1] = [[MSEditCardCell alloc] init];
cellList[indexPath.row-1] = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
return cellList[indexPath.row-1];
}
答案 0 :(得分:1)
正如Durican所说,这是细胞再利用的问题。您需要设置一个数据模型,用于存储您在每个单元格中显示的信息。当用户更改给定单元格中的选定段时,您需要通过更新模型中的那一部分信息来响应该更改。
然后,在您的cellForRowAtIndexPath方法中,您需要从模型中获取相应的条目并使用该信息来完全配置新单元格,包括设置该单元格的分段控件的状态。
这是基本的表视图内容,也是大多数人在第一次开始使用表视图时都会遇到的问题。
答案 1 :(得分:0)
这是因为滚动时要重复使用单元格。只需为单元格添加一个iVar或属性(布尔值),每次在cellForRowAtIndexPath中配置单元格时,请确保将segmentedControl设置为您正在设置的布尔值