我认为要将"开"的复选标记改为"关",我必须在didSelectRowAtIndexPath上的nonecheckmark之间更改CellAccessoryType,这对吗?

因为我已经这么做了,但我注意到这种行为与iphone上自动锁定设置上的复选标记单元格并不完全相同.

还是有其他方法来处理复选标记?

推荐答案

  1. 在视图控制器中保留一个名为selectedRow的属性,该属性表示代表表节中选中项的行的索引.

  2. 在视图控制器的-tableView:cellForRowAtIndexPath:委托方法中,如果单元格的indexPath.row等于selectedRow,则将cell中的accessoryType设置为UITableViewCellAccessoryCheckmark.否则,将其设置为UITableViewCellAccessoryNone.

  3. 在视图控制器的-tableView:didSelectRowAtIndexPath:委托方法中,将selectedRow值设置为选中的indexPath.row,例如:self.selectedRow = indexPath.row

Objective-c相关问答推荐

Objective-C:为什么[对象复制]的两个请求返回相同的结果?

iOS - 如何预加载键盘?

我应该为 memcpy 和 realloc 包含什么标题?

如何在旋转时定义 CollectionView 的大小

如何构建一个 Objective-C 静态库?

Objective-C:集合枚举块中的 continue继续?

为什么我们必须在 Objective-C 中做 [MyClass class]?

iOS 7 - viewDidLoad 和 viewDidAppear 之间的区别

NSUserDefaults 的限制是什么?

在 iOS 7 中检测后台应用刷新的用户设置

更改后退导航栏按钮的字体

添加自定义 initWith?

NSManagedObjectContext:异常断点在 save: 方法处停止,但没有日志(log)/崩溃/错误

从 NSMutableString 中删除最后一个字符

在 32 位和 64 位架构上格式化 NS(U)Integer 时类型转换的替代方法?

UILabel 根据要显示的文本自动调整大小

获取当前调度队列?

为整个 iPhone / iPad 应用程序设置背景图像

Xcode 警告未使用属性访问结果 - getter 不应用于副作用

在 Xcode 中制作 RGB colored颜色