1

在我的表格视图中,我有一定数量的行,并且都有一个详细信息披露按钮,单击详细信息披露按钮会将用户带到一个在文本视图中显示信息的新视图。我无法得出用户点击该行时该行的行为方式的结论,因为 Apple 针对表格视图和详细信息披露按钮的指南令人困惑。

请任何人都可以为我解释以下两种情况。提前致谢。

  1. 新视图仅在用户点击详细信息披露按钮时滑入并且当用户点击行中的其他位置时没有任何反应是否正确。
  2. 如果用户点击关于突出显示的详细信息披露按钮应该是什么行为?
  3. 如果用户点击行中的其他位置,表行的行为应该是什么?

苹果指南说:“当一个详细信息披露按钮出现在表格行中时,点击该行中的其他地方不会激活详细信息披露按钮;相反,它会选择行项目或导致应用程序定义的行为。”

和 Apple 表格视图指南说“当用户点击可选项目时,表格行会短暂突出显示。如果行选择导致导航到新屏幕,则所选行会在新屏幕滑入到位时短暂突出显示。当用户导航回到前一个屏幕,最初选择的行再次短暂突出显示,以提醒用户他们之前的选择(它不会保持突出显示)。

4

2 回答 2

2

当您点击该行时,将调用此委托方法:

– tableView:didSelectRowAtIndexPath:

当您点击详细信息披露按钮时,将调用以下委托方法:

– tableView:accessoryButtonTappedForRowWithIndexPath:

表视图:accessoryButtonTappedForRowWithIndexPath:

告诉代理用户点击了与给定行关联的附件(披露)视图。- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath 参数

表视图

The table-view object informing the delegate of this event. indexPath

An index path locating the row in tableView.

讨论

代理通常通过显示与所选行相关的新视图来响应对公开按钮(附件视图)的点击。为 indexPath 处的行设置辅助视图时,不会调用此方法。可用性

Available in iOS 2.0 and later.

在 UITableView.h 中声明

表视图:didSelectRowAtIndexPath:

告诉代理指定的行现在被选中。- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 参数

表视图

A table-view object informing the delegate about the new row selection.  indexPath

An index path locating the new selected row in tableView.

讨论

委托处理此方法中的选择。它可以做的一件事就是将复选标记图像(UITableViewCellAccessoryCheckmark)专门分配给一个部分中的一行(单选列表样式)。当表格的编辑属性设置为YES(即表格视图处于编辑模式)时,不会调用此方法。有关与此方法相关的更多信息(和代码示例),请参阅 iOS 表视图编程指南中的“管理选择”。可用性

Available in iOS 2.0 and later.

也可以看看

– tableView:willSelectRowAtIndexPath:
– tableView:didDeselectRowAtIndexPath:

在 UITableView.h 中声明

参考:UITableViewDelegate

于 2012-10-31T13:46:36.137 回答
0

You can do whatever you want with this discloure button. 1)New views can slide event if will tap on row. 2) nothing 3) you can dot whatever you want: show new UIViewController, UIAlertView etc. It depends on your imagination. There are no restrictions for this.

于 2012-10-31T13:46:08.790 回答