我试图使用storyboard/segue来处理UITableView与标准转换以及详细信息披露按钮之间的转换.在这里阅读了几个不同的帖子后,我以这种方式设置了我的项目:
实施accessoryButtonTappedForRowWithIndexPath如下:
-(void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath {
[self performSegueWithIdentifier:@"DetailSegue" sender:self];
}
Run Code Online (Sandbox Code Playgroud)这很好用,我prepareForSegue: sender:按预期调用.麻烦的是,我需要知道所选元素的indexPath.来自UITableViewCell的segue检索indexPath,如下所示:
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我尝试调用accessoryButton时,返回null.
我基于这些代码的原始问题是:详细信息披露按钮和Segues
是否有tableView的方法返回accessoryButtons的indexPath?我是否需要以其他方式访问indexPath?
Ada*_*dam 16
你不必覆盖accessoryButtonTappedForRowWithIndexPath.
在prepareForSegue使用详细信息披露按钮时,而不是:
[self.tableView indexPathForSelectedRow]
Run Code Online (Sandbox Code Playgroud)
使用:
[self.tableView indexPathForCell:sender]
Run Code Online (Sandbox Code Playgroud)
发件人已经是详细信息披露按钮的单元格.
jrt*_*ton 13
的sender参数是,根据文档:
要用于启动segue的对象.在实际segue期间,此对象可用于提供信息.
我没有看到任何原因你不能使用索引路径作为发送者而不是self,然后访问索引路径prepareForSegue:.
如果这不起作用,请将索引路径存储在ivar中并访问其中 prepareForSegue
| 归档时间: |
|
| 查看次数: |
3843 次 |
| 最近记录: |