如何使用第一响应者只保留一个单元格在具有多个表格视图的视图中最多被选中?

问题描述:

我有一个滚动视图,它有几个表视图作为子视图... 说我已经选择了一个单元格的子视图之一。现在,当我从另一个视图中选择一个单元格时,我之前选择的单元格不应该突出显示。 我该怎么做?我知道我可以使用第一响应者来做到这一点,但我不知道如何去做。 任何人都可以帮助我吗?如何使用第一响应者只保留一个单元格在具有多个表格视图的视图中最多被选中?

感谢

从苹果接口guidlines:

始终提供反馈,当用户选择一个列表项。用户期望一个表格行在他们点击一个可选项目时会短暂地突出显示。点击后,用户希望立即采取措施:出现一个新视图,或者该行显示一个复选标记,以指示该项目已被选中或启用。

在极少数情况下,当与行项目相关的辅助详细信息或控件显示在同一屏幕中时,行可能会保持高亮显示。但是,这并不鼓励,因为很难同时显示选项列表,选定项目以及相关详细信息或控件,而不会产生令人不舒服的拥挤布局。

我不认为苹果会批准一个应用程序,突出显示一行(我有一个应用程序因为这个原因拒绝)。您应该执行一个操作,然后立即忽略它。在极少数情况下,您可以在显示相关视图时将其突出显示。

但是,如果您存储了所选的当前单元格,则可以在tableview上调用-deselectRowAtIndexPath:animated:以取消选择一行。

+0

感谢您的评论drewag ... – learner2010 2011-03-22 14:04:28