UITableViewCellAccessoryDe​​tailDisclosureButton和UITableViewCellAccessoryDisclosureIndicator之间有什么区别吗

Var*_*sha 5 xcode objective-c uitableview

我创建了一个方法- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath {UITableViewCellAccessoryDetailDisclosureButton.

现在我想UITableViewCellAccessoryDisclosureIndicator代替使用UITableViewCellAccessoryDetailDisclosureButton.

有什么区别UITableViewCellAccessoryDetailDisclosureButtonUITableViewCellAccessoryDetailDisclosureButton

Pau*_*nch 6

Apple HIG建议您使用UITableViewCellAccessoryDisclosureIndicator分层数据进行导航,并UITableViewCellAccessoryDetailDisclosureButton执行某些操作,可能会调出可能会更改数据的编辑视图.但是,大多数程序员似乎忽略了这一点.

您可以tableView:didSelectRowAtIndexPath:像这样实现委托方法:

- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath {
    [self tableView:tableView didSelectRowAtIndexPath:indexPath];
}
Run Code Online (Sandbox Code Playgroud)

或相反亦然.


Emp*_*ack 2

有差别。UITableViewCellAccessoryDe​​tailDisclosureButton实际上是一个按钮,但UITableViewCellAccessoryDisclosureIndicator不是。

您可以使用UITableViewCellAccessoryDisclosureIndicator而不是UITableViewCellAccessoryDe​​tailDisclosureButton,但您无法获取在点击UITableViewCellAccessoryDisclosureIndicator时调用的tableView:accessoryButtonTappedForRowWithIndexPath:方法,因为它不是按钮。