将 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的主要内容,如果未能解决你的问题,请参考以下文章

如何将Ios文件上传到

Javascript 将正则表达式 \\n 替换为 \n,将 \\t 替换为 \t,将 \\r 替换为 \r 等等

如何将视频文件转换格式

sh 一个将生成CA的脚本,将CA导入到钥匙串中,然后它将创建一个证书并与CA签名,然后将其导入到

python怎么将0写入文件?

如何将CMD窗口背景改成透明?