- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
在 iPhone 应用程序中单击表格 View 单元格我想显示表格 View 单元格附件类型复选标记为 didSelectRowAtIndexPath 我正在编写代码
if(indexPath.row ==0)
{
[tableView cellForRowAtIndexPath:indexPath].accessoryType=UITableViewCellAccessoryCheckmark;
}
并显示复选标记。
但在我的情况下,我不允许用户一次只检查单元格,这意味着如果用户选择其他行,则应该检查该行,而之前检查的应该取消选中
我怎样才能做到这一点?
最佳答案
在实例变量中跟踪检查了哪一行。当用户选择新行时,首先取消选中之前选中的行,然后检查新行并更新实例变量。
这里有更多细节。首先添加一个属性来跟踪当前选中的行。如果这是一个 NSIndexPath
是最简单的。
@interface RootViewController : UITableViewController {
...
NSIndexPath* checkedIndexPath;
...
}
...
@property (nonatomic, retain) NSIndexPath* checkedIndexPath;
...
@end
在您的 cellForRowAtIndexPath
中添加以下内容:
if([self.checkedIndexPath isEqual:indexPath])
{
cell.accessoryType = UITableViewCellAccessoryCheckmark;
}
else
{
cell.accessoryType = UITableViewCellAccessoryNone;
}
您如何编写 tableView:didSelectRowAtIndexPath:
将取决于您想要的行为。如果必须始终检查一行,也就是说,如果用户单击已检查的行,请使用以下内容:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// Uncheck the previous checked row
if(self.checkedIndexPath)
{
UITableViewCell* uncheckCell = [tableView
cellForRowAtIndexPath:self.checkedIndexPath];
uncheckCell.accessoryType = UITableViewCellAccessoryNone;
}
UITableViewCell* cell = [tableView cellForRowAtIndexPath:indexPath];
cell.accessoryType = UITableViewCellAccessoryCheckmark;
self.checkedIndexPath = indexPath;
}
如果您想让用户能够通过再次单击该行来取消选中该行,请使用以下代码:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// Uncheck the previous checked row
if(self.checkedIndexPath)
{
UITableViewCell* uncheckCell = [tableView
cellForRowAtIndexPath:self.checkedIndexPath];
uncheckCell.accessoryType = UITableViewCellAccessoryNone;
}
if([self.checkedIndexPath isEqual:indexPath])
{
self.checkedIndexPath = nil;
}
else
{
UITableViewCell* cell = [tableView cellForRowAtIndexPath:indexPath];
cell.accessoryType = UITableViewCellAccessoryCheckmark;
self.checkedIndexPath = indexPath;
}
}
关于iPhone :UITableView CellAccessory Checkmark,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5959950/
在我的待办事项列表应用程序中,我使用静态单元格来显示永不更改的待办事项的 NSMutableArray。一旦用户点击单元格,accessoryType 为 .Checkmark 并被标记为已完成。我正
我试图让我的应用程序中的单元格仅在其标题与存储在 NSUserDefaults 中的 NSMutableArray 中的单词匹配的行上显示复选标记。我现在的问题是它在每个应用程序上都显示一个复选标记.
我有一个在数组中存储索引值的表。 在选择一行时,它们附加到数组 当我单击上一个按钮并希望用这些索引填充表格并自动检查标记它们(如果它们在数组中)时,问题就来了。 虽然我的问题是:我是否需要在 cell
在 iPhone 应用程序中单击表格 View 单元格我想显示表格 View 单元格附件类型复选标记为 didSelectRowAtIndexPath 我正在编写代码 if(indexPath.row
我有 CheckedTextView 选择器: 当我有 2 个这样的选中 TextView 一个在另一个下面时,第一个未选中,另一个被选中,它看起来像这样: 您可以注意到,与选中状态相比,未选
出于一个奇怪的原因,在我的 CustomCell 中,当我打勾时,当我点击单元格时,单元格内的标签会向左/右移动...有人可以帮忙吗? 在我的 cellForRow 方法中: if (cell.acc
关注 previous SO question ,我试图通过保存和其他内容来正确选择 tableView 单元格。 我已经将其切换,但无法保存indexPath并检索它以显示选择,即使用户离开 Vie
我的 tableView 中有 2 个部分,并且 multipleSelection 为 true。如果我在第一个部分中选择第一个单元格然后向下滚动,那么第二个部分的第一个单元格已经被选中并且在一些随
我有以下代码 override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath)
我正在构建一个过滤器 View Controller 。顶部是一个可选择的列表,选择已用复选标记标记。 我的问题是复选标记将我的文本标签推到了左边。UITextLabel 从右到左对齐。 我如何禁用复
如何使用UITableViewCellAcessoryCheckMark swift中的方法?在 ObjC 中,我很清楚,但 Swift 不能这样做。我的意图是做一个比较,这个是真的勾号出现。 最佳答
我正在使用 Xcode 6.0.1、iOS8 和 Swift。我必须在我的 UITableView 中重现与 Settings->General 中的 Auto-Lock 选项相同的行为。在 Obje
这是我的代码: cell.accessoryType = UITableViewCellAccessoryType.Checkmark 但是当我运行该应用程序时,我看不到复选标记。 然后我将背景颜色设
在查看 Jquery 时,您会发现 2 个 css 样式框。一个包含 Highlight(黄色),另一个是 Error(红色) http://jqueryui.com/themeroller/ 现在我
我正在开发一个使用 checkedTextView 的应用程序,它运行良好。但我真的不喜欢 checkedTextView 中“复选框”的布局,它太大了。有什么方法可以调整它的大小或将布局更改为定制的
问题:我只想显示带有复选标记的选定单元格。我不想要灰色突出显示。我试过了: cell.selectionStyle = UITableViewCellSelectionStyleNone 但没用。 代
我在 NSToolbarItem 中有一个 NSButton 作为我的 mac 应用程序中 NSToolbar 的成员。像这样的东西: 这两个复选标记已打开,但没有出现。 如果我单击其中任何一个,它们
我有一个自定义模板复选框,我正在使用 View 框(使用 View 框允许简单缩放)实现它,我无法弄清楚如何更改选中/取消选中复选框时显示的内容。 我希望选中时复选标记为红色(不是最终外观,只是想看看
我需要将 viewModel 中的 bool 属性绑定(bind)到 Table Cell 属性 UITableViewVellAccessory.CheckMark 吗?我该怎么做? 最佳答案 一种
我需要一个 silverlight 复选框,其中包含复选标记的框比默认大小小得多(10 像素 x 10 像素)。这可能吗? 最佳答案 使用 ScaleTransform . 从 MSDN 页面上的代码
我是一名优秀的程序员,十分优秀!