将 accessoryButtonTappedForRowWithIndexPath 转换为 didSelectRowAtIndexPath
Posted
技术标签:
【中文标题】将 accessoryButtonTappedForRowWithIndexPath 转换为 didSelectRowAtIndexPath【英文标题】:Convert accessoryButtonTappedForRowWithIndexPath to didSelectRowAtIndexPath 【发布时间】:2014-12-25 21:20:54 【问题描述】:我目前已经实现了这个方法
-(void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *)indexPath
// Search the View controller form the cell specified.
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
self.cellPhrase = cell.textLabel.text;
NSLog(@"cellPhrase %@", self.cellPhrase);
// Perform the segue.
[self performSegueWithIdentifier:@"phraseSelectionSegue" sender:self];
这可行,但这意味着我只能继续使用小 I 图标而不是整个单元格,所以我想更改为 didSelectRowAtIndexPath
所以我实现了方法
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
// Search the View controller form the cell specified.
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
self.cellPhrase = cell.textLabel.text;
NSLog(@"cellPhrase %@", self.cellPhrase);
// Perform the segue.
[self performSegueWithIdentifier:@"phraseSelectionSegue" sender:self];
然后我将附件移动到披露指示器并确保我的 Segue 推动选择 Segue。
但是,当我运行应用程序时,它似乎没有运行。
我想知道是否有人能找出原因。
【问题讨论】:
您是否收到错误消息?该代码是否被执行?你的 tableView 的allowsSelection
属性的值是多少?
非常感谢 pbasdf 我忘记了allowsSelection 属性。请您将其写为答案,以便我将其标记为正确吗?
已添加为答案。谢谢。
【参考方案1】:
为您的 tableView 检查allowsSelection
的值。如果值为 false,单元格将不会触发 didSelectRowAtIndexPath
。
【讨论】:
以上是关于将 accessoryButtonTappedForRowWithIndexPath 转换为 didSelectRowAtIndexPath的主要内容,如果未能解决你的问题,请参考以下文章
Javascript 将正则表达式 \\n 替换为 \n,将 \\t 替换为 \t,将 \\r 替换为 \r 等等