我创建了一个包含两个表视图的屏幕,我已经成功调用了方法cellForRowAtIndexPath
,但现在使用didSelectRowAtIndexPath
从tableview选项导航到另一个页面时遇到了麻烦。我想我在做一些错误,我明显不知道下一步是什么。任何人都可以指导我该怎么做?我用过这段代码 -
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if ([tableView isEqual:leftTableView]) {
TattooSinglesScreen *obj=[self.storyboard instantiateViewControllerWithIdentifier:@"TattooSinglesScreen"];
EyecatcherScreen *obj1=[self.storyboard instantiateViewControllerWithIdentifier:@"EyecatcherScreen"];
TattooToplist *obj2=[self.storyboard instantiateViewControllerWithIdentifier:@"TattooToplist"];
int i=indexPath.row;
if(i==0){
[self.navigationController pushViewController:obj animated:nil];
}
else if (i==1) {
[self.navigationController pushViewController:obj1 animated:NO];
}
else if (i==2) {
[self.navigationController pushViewController:obj2 animated:NO];
}
}
else {
TattooSinglesScreen *obj=[self.storyboard instantiateViewControllerWithIdentifier:@"TattooSinglesScreen"];
EyecatcherScreen *obj1=[self.storyboard instantiateViewControllerWithIdentifier:@"EyecatcherScreen"];
TattooToplist *obj2=[self.storyboard instantiateViewControllerWithIdentifier:@"TattooToplist"];
int i=indexPath.row;
if(i==0){
[self.navigationController pushViewController:obj animated:nil];
}
else if (i==1) {
[self.navigationController pushViewController:obj1 animated:NO];
}
else if (i==2) {
[self.navigationController pushViewController:obj2 animated:NO];
}
}
}
答案 0 :(得分:0)
如果你想从表格视图导航到另一个视图控制器,请不要设置动画:NO.set animated:YES for navigating.But如果你设置动画:NO,肯定它不会导航。所以你必须做以下事情进行导航。
YourViewController *yourVC = (YourViewController *)[self.storyboard instantiateViewControllerWithIdentifier:@"StoryBordIdentifier"];
[self.navigationController pushViewController:yourVC animated:YES];
您也可以在此didSelectRowAtIndexPath
中使用[self performSegueWithIdentifier:@"segueID" sender:self];
与
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
YourViewController *vc = segue.destinationViewController;
}
Click Table Row and Go another Page
答案 1 :(得分:0)
我看到user3182143的回答有所帮助,但是为了它的价值,我设置了一个小demo project(现在更新了两个表),以显示任何感兴趣的人如何完成。
它还说明(顾名思义),您可以手动推动并将动画参数设置为NO
,只需在模拟器中运行即可。
我不知道为什么这在原来的方法中没有用,pri,但我的猜测是你以某种方式错误地设置了导航视图控制器。
代码&故事板可读性我建议使用segues。