- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试完成这项工作,但我似乎无法全神贯注于这个想法。
到目前为止,我已经知道您可以在其中选择一个单元格并生成复选标记。然后,当您选择一个不同的单元格时,先前的复选标记将消失,并且 tableview 将在您刚刚选择的新单元格上创建一个新的复选标记。这一切都很好。
但是,当您选择带有复选标记的同一个单元格时,我想把它转到哪里,复选标记不会消失。但是,确实如此!
我已经尝试了大量的 if 语句来查看我是否可以弄清楚如何使它工作但无法找到解决方案。我需要在我的代码中重新安排这可能是一些小事。
这是我的代码:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if(self.checkedIndexPath)
{
UITableViewCell* uncheckCell = [tableView
cellForRowAtIndexPath:self.checkedIndexPath];
uncheckCell.accessoryType = UITableViewCellAccessoryNone;
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
if([self.checkedIndexPath isEqual:indexPath])
{
self.checkedIndexPath = nil;
}
else
{
cellCheck = [tableView cellForRowAtIndexPath:indexPath];
cellCheck.accessoryType = UITableViewCellAccessoryCheckmark;
self.checkedIndexPath = indexPath;
[tableView deselectRowAtIndexPath:indexPath animated:YES];
NSLog(@"%@", indexPath);
}
}
最佳答案
如果您选择带有复选标记的单元格,将执行此代码。
if(self.checkedIndexPath)
{
UITableViewCell* uncheckCell = [tableView
cellForRowAtIndexPath:self.checkedIndexPath];
uncheckCell.accessoryType = UITableViewCellAccessoryNone;
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
此代码将删除您在第一次选择期间添加的复选标记。
然后这段代码就会被执行
if([self.checkedIndexPath isEqual:indexPath])
{
self.checkedIndexPath = nil;
}
因此只有当您再次选择同一个单元格时,复选标记才会重新出现
我认为更简洁的方法如下。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell* cellCheck = [tableView
cellForRowAtIndexPath:indexPath];
cellCheck.accessoryType = UITableViewCellAccessoryCheckmark;
}
- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell* uncheckCell = [tableView
cellForRowAtIndexPath:indexPath];
uncheckCell.accessoryType = UITableViewCellAccessoryNone;
}
因为您可以从 [tableView indexPathForSelectedRow] 获取 self.checkedIndexPath 的值; self.checkedIndexPath 的设置是可选的,具体取决于代码的逻辑。
关于ios - 使用 UITableViewCellAccessoryCheckMark,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13214471/
我有一个 UITableView,每个单元格都有一个 UITableViewCellAccessoryCheckmark。用户可以根据自己的喜好选中和取消选中单元格。用户可以在表格 View 中检查/
我有一个需要自定义 UITableViewCellAccessoryCheckmark 的 TableView 。选择一行时复选标记显示,选择另一行时复选标记消失,然后出现在最后选择最多的 View
我正在尝试完成这项工作,但我似乎无法全神贯注于这个想法。 到目前为止,我已经知道您可以在其中选择一个单元格并生成复选标记。然后,当您选择一个不同的单元格时,先前的复选标记将消失,并且 tablevie
我需要定义一个自定义 UITableViewCell,其中 UITableViewCellAccessoryCheckmark 位于 UILabel 的左侧。我应该将其定义为图像还是有更聪明的方法?
我有一个 UITableView,每行都包含一个使用 UITableViewCellAccessoryCheckmark 的复选框。我不知道如何使用 didSelectRowAtIndexPath 方
如何观察单元格附件类型 UITableViewCellAccessoryCheckmark 是否被选中? 在我的应用程序中,我在 UIAlertView 中添加了 UITableView。我也用过 c
我使用以下代码将自定义图标添加到 UITableViewCellAccessoryCheckmark。问题是当触摸/选择另一行时,单元格复选标记不会取消选择 这是我的代码: - (void)tabl
我有一个允许多个选择的 UITableView,但是由于某种原因,当我滚动 UITableView 时,我在滚动时重复使用 UITableViewCellAccessoryCheckmark 所做的选
我有自定义 UITableViewCell 并管理我的单元格选择。选择单元格并显示复选标记后,单元格 Content View 宽度会缩小,并且带有尾随约束的标签会向左移动。如何有效避免内容迁移? 我
我想更改我们键入的 UITableViewCellAccessoryCheckmark 和 UITextField 背景颜色的颜色。我发现这并不简单。 最佳答案 我通过更改单元格所属的 UITable
如果您在 iOS 中使用过消息应用程序,您就会知道我们如何通过编辑按钮在任何消息中调用 UITableViewCellAccessoryCheckmark,然后选择每个气泡/单元格以用于转发或删除目的
我正在处理 tableview 多选,取消选择。 我有 3 个 TableView (标签为 400 的 TableView 我需要多选和取消选择 -> alllMumbaiTableview) 我的
我在显示手机中的 Checkmark 配件时遇到问题。当我使用另一种类型的配件时,它可以工作,但不能与 Checkmark 配件一起使用。 它在 iOS 6 中完美运行,但在 iOS 7 中运行不佳。
在 iOS 7 上使用此代码会导致分隔符 View 被覆盖或缩短: cell.accessoryType = UITableViewCellAccessoryCheckmark; 如何修复分隔符 Vi
我是一名优秀的程序员,十分优秀!