objective-c - 选择时 UITableViewCell 复选标记更改

标签 objective-c iphone tablecell checkmark

我是否正确认为要将“开”的复选标记更改为“关”,我必须更改 CellAccessoryType none之间和 checkmarkdidSelectRowAtIndexPath ?

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

或者是否有其他方式可以处理复选标记?

最佳答案

  1. 在 View Controller 中保留一个名为 selectedRow 的属性,该属性表示行的索引,该行表示表格部分中的选中项。

  2. 在 View Controller 的 -tableView:cellForRowAtIndexPath: 委托(delegate)方法中,将 cellaccessoryType 设置为 UITableViewCellAccessoryCheckmark 如果单元格的 indexPath.row 等于 selectedRow 值。否则,将其设置为 UITableViewCellAccessoryNone

  3. 在 View Controller 的 -tableView:didSelectRowAtIndexPath: 委托(delegate)方法中,将 selectedRow 值设置为 indexPath.row 即选中,例如:self.selectedRow = indexPath.row

关于objective-c - 选择时 UITableViewCell 复选标记更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2797165/

相关文章:

objective-c - 实现自己的 setter 还是使用 KVO?

iphone - iPhone 应用程序的界面 Photoshop 尺寸

swift - 在 ScrollView 中显示表格单元格并快速滚动到下一个或上一个

ios - 如何在两点之间画一条线 objective-C

iphone - 通过 for 循环使用键将数据添加到 NSMUtableArray

ios - NSString 中的内存泄漏 stringWithUTF8String : with ARC enabled

IOS - Swift - 向 BarButtonItem 的自定义 View 添加目标和操作

iphone - self 对象是如何以及在哪里分配的?

tableview - JavaFX-8 - 如何获取 TableView 的行数?

html - 垂直对齐彼此相邻的两个 div 到相同的高度?