【问题标题】:iOS 6, Segue: prepareForSegue doesn't get called when tapping on UITableViewCell at first timeiOS 6,Segue:第一次点击 UITableViewCell 时不会调用 prepareForSegue
【发布时间】:2012-10-25 16:29:39
【问题描述】:

我遇到了 segues 的问题。我的 UITableViewController 对其他 UITableViewController 有两个 segues。 segues 从控制器链接到控制器,而不是从单元到控制器。

代码:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];

if([segue.identifier isEqualToString:@"segueOne"])
{
    //implementation omitted
}
if([segue.identifier isEqualToString:@"segueTwo"])
{
   //implementation omitted
}
}

邪恶之地:

-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
{
if(self.navigationKey==1)
{
    [self performSegueWithIdentifier:@"segueOne" sender:self];

}
if(self.navigationKey==2 || self.navigationKey==3)
{
    [self performSegueWithIdentifier:@"segueTwo" sender:self];
}
}

一般来说,导航是有效的。当然,问题是导航不适用于第一个选定的单元格。任何帮助深表感谢。

【问题讨论】:

  • 那为什么在第二次点击其他单元格时会这样?

标签: objective-c ios cocoa-touch storyboard segue


【解决方案1】:

您正在使用 tableView:did*取消选择*RowAtIndexPath:

而不是

tableView:did*选择*RowAtIndexPath:

希望对你有帮助,

【讨论】:

    猜你喜欢
    • 2012-02-16
    • 2017-04-23
    • 1970-01-01
    • 2019-03-23
    • 2013-01-03
    • 2012-02-24
    • 1970-01-01
    • 1970-01-01
    • 2012-12-31
    相关资源
    最近更新 更多