似乎 setSelected:animated:在iPhone和iPad上的工作方式不同,即使在模拟器中也是如此。请考虑以下代码:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell* cell = [tableView cellForRowAtIndexPath:indexPath];
if (cell.accessoryType == UITableViewCellAccessoryNone) {
//[cell setSelected:NO animated:YES]; works only on iPhone, but not on iPad
[tableView deselectRowAtIndexPath:indexPath animated:YES]; //works everywhere
return;
}
[self.navigationController pushViewController:someViewController animated:YES];
}
此行似乎仅适用于iPhone
[cell setSelected:NO animated:YES];
我想知道是否有人可以提供有关 setSelected:animated:方法限制的一些信息?
答案 0 :(得分:0)
我认为,由于UITableViews并非真正用于在UISplitViewControllers之外使用,因此在iPad上进行了设计。
如果在viewControllers [0]中使用UITableView,请考虑在用户与viewControllers [1]中的UIViewController交互时如何保持选择UITableViewCell。
修改的
我根本无法支持这一点......我在HIG中查了一下它并没有像我提到的那样。