iPhone中的多值选择/取消选择

Posted

技术标签:

【中文标题】iPhone中的多值选择/取消选择【英文标题】:Multiple Value Selection / Deselection in iPhone 【发布时间】:2011-05-22 11:53:59 【问题描述】:

我有多个值供用户选择。

当用户选择多个选项时,它应该保存在数组中。

当用户取消选择该值时,它应该从数组中删除相同的值。

怎么做?

可以从选项中随机选择和取消选择。

怎么做?

【问题讨论】:

【参考方案1】:

假设您想使用表格视图执行此操作,您可以维护一个可变的选定索引路径数组。您可以将附件类型设置为复选标记以表示选择。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    if ( [array indexOfObject:indexPath] == NSNotFound ) 
        [array addObject:indexPath];
        cell.accessoryType = UITableViewCellAccessoryCheckmark;
     else 
        [array removeObject:indexPath];
        cell.accessoryType = UITableViewCellAccessoryNone;
    

并在单元初始化期间使用数组正确设置accessoryType

【讨论】:

【参考方案2】:

创建一个名为 Options 的模型类,并将所有选项作为成员变量。当用户更改任何选项的值时更新这些变量。使用此变量将数据从一个对象移植到另一个对象。希望这会帮助你。如果您有必要将值存储在数组中,请提供更多关于您的要求的详细信息,以便我们进一步考虑。

【讨论】:

以上是关于iPhone中的多值选择/取消选择的主要内容,如果未能解决你的问题,请参考以下文章

iPhone - 从设置包加载设置只会在显示/关闭多任务栏后更新

Iphone 中的分组按钮

iPhone SDK 3,Interface Builder:是不是可以从一组选定元素中取消选择一个元素?

在iPhone中禁用UIButton中的触摸动画

iPhone如何取消自动续费

从访问 vba 中的多值组合框中获取值