首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止一行UITableView到deSelect?

如何防止一行UITableView到deSelect?
EN

Stack Overflow用户
提问于 2012-11-16 14:35:40
回答 2查看 2.4K关注 0票数 5

当我选择一行UITableView时,它会变成绿色(自定义),但当我选择另一行时,先前选择的行将不会保持绿色。每次选择行后,我都会重新加载表。我已经尝试过了

代码语言:javascript
复制
NSIndexPath *selection = [mainTable indexPathForSelectedRow];
[mainTable selectRowAtIndexPath:selection animated:NO
scrollPosition:UITableViewScrollPositionNone]; 

但是使用这段代码,我只能得到最近选中的行绿色( selected ),我搜索了一下,发现了一些建议,其中大多数建议将选中行的索引值存储在一个数组中,并在以后使用这个数组,我已经尝试过了,但它不起作用。任何其他建议或示例代码将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-16 14:53:28

执行以下操作:

代码语言:javascript
复制
mainTable.allowsMultipleSelection = YES;

allowsMultipleSelection

一个布尔值,它确定用户是否可以在编辑模式之外选择多行。

@property(nonatomic) BOOL allowsMultipleSelection

讨论

此属性控制是否可以在编辑模式之外同时选择多个行。当此属性的值为“YES”时,将在点击的每一行旁边放置一个复选标记。如果调用indexPathsForSelectedRows,则可以获得标识所选行的索引路径。

此属性的默认值为NO

票数 4
EN

Stack Overflow用户

发布于 2012-11-16 14:52:35

更新:

要实现这一点,更好的方法是从UITableViewDelegate方法tableView:willDeselectRowAtIndexPath:中为您希望保持选中状态的indexPath返回nil。

不要使用以下命令:

尝试以下add UITableViewDelegate方法:

代码语言:javascript
复制
- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
{
  //use this for row u want to prevent to deSelect
  [tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];               
}
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13411639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档