2014-11-08 39 views
0

,当我点击我的tableview.The代码单元如下:推视图时单击我要推一个视图tableviewcell

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if (tableView.tag == todoTableViewTag) { 
     NSLog(@"aa"); 
     ViewControlleraaa* testvc = [[ViewControlleraaa alloc] initWithNibName:@"ViewControlleraaa" bundle:nil];  
     [self.navigationController pushViewController:testvc animated:YES]; 
    } 
    [tableView deselectRowAtIndexPath:indexPath animated:YES]; 
} 

,但它并不在所有的工作。

我有 ViewControlleraaa.h ViewControlleraaa.m和ViewControlleraaa.xib 但我除了创建它们什么都没做。

那么问题在哪里?

+0

代码是否会触发?你有没有看到“aa”登录到控制台? – mbm29414 2014-11-08 17:57:02

+0

@ mbm29414是的,testvc不是零。所以我无法弄清楚问题在哪里! – EvanZeng 2014-11-08 17:59:15

+1

'self.navigationController'怎么样?它是'零'吗?也许你需要将你的视图控制器嵌入到导航控制器中? – mbm29414 2014-11-08 18:00:00

回答

1

从您的表视图控制器创建一个'通用'segue到ViewControlleraaa并使用'performSegueWithIdentifier'。如果这种方法不可能执行,那么你可能想尝试'presentViewController'。

0

尝试从您的表视图控制器创建一个手动segue到ViewControlleraaa。然后,正如上面的回答者所说的那样,您可以使用performSegueWithIdentifier来调用segue。如果您需要使用表视图控制器将任何数据推送到ViewControlleraaa,您可以使用“prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender”方法执行此操作。 “segue”的destinationViewController属性是ViewControlleraaa。

这里的YouTube视频的链接,如果您需要任何额外的帮助:https://www.youtube.com/watch?v=XApYtAlRDVE

0

检查self.navigationController不是零则切切实实的它会正常工作。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    [tableView deselectRowAtIndexPath:indexPath animated:YES]; 

     ViewController *vc = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];  
     [self.navigationController pushViewController:vc animated:YES]; 
}