单击一行时视图不会改变 - xcode ios

Posted

技术标签:

【中文标题】单击一行时视图不会改变 - xcode ios【英文标题】:View doesn't change when clicking a row - xcode ios 【发布时间】:2014-02-21 16:04:32 【问题描述】:

我在UIViewController 的容器内创建了一个UITableViewController

在我单击单元格以查看用户信息之前,一切正常。

当我单击该行时,应该转到包含选项卡的视图,但它没有这样做(它停留在表格的页面上)。

我知道它会调用下面的函数,因为我在其中放置了一个 NSLog,当我单击一行时它会显示出来。

有人可以帮帮我吗?谢谢!

(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath


  UINavigationController *tabController = [self.storyboard instantiateViewControllerWithIdentifier:@"TabNav"];
tabController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self.navigationController pushViewController:tabController animated:YES];

【问题讨论】:

【参考方案1】:

打电话之前:

[self.navigationController pushViewController:tabController animated:YES];

您必须将UINavigationController - tabController 添加到视图层次结构中。

// 扩展

试试这个:

     UINavigationController *tabController = [self.storyboard instantiateViewControllerWithIdentifier:@"TabNav"];
    [tabController willMoveToParentViewController:self];
    //try wit this line if this will not work
    //tabController.view.frame = self.view.bounds;  
    [self.view addSubview:tabController.view];
    [self addChildViewController:tabController];
    [tabController didMoveToParentViewController:self];
    [self.navigationController pushViewController:tabController animated:YES];

【讨论】:

我该怎么做?我的意思是,我对之前的视图执行了相同的过程,并且效果很好...... 这个想法可行,但由于表格位于选项卡中,因此当我使用它时,它会打开我在此选项卡内调用的选项卡栏。【参考方案2】:

我发现了问题!出于某种奇怪的原因,我不得不更改这些行:

UINavigationController *tabController = [self.storyboard instantiateViewControllerWithIdentifier:@"TabNav"]; tabController.modalTransitionStyle = UIModalTransitionStyleCoverVertical; [self.navigationController pushViewController:tabController Animation:YES];

到这些行:

UIViewController *viewController = [[UIStoryboard storyboardWithName:@"Main" bundle:nil]instantiateViewControllerWithIdentifier:@"TabNav"]; [self presentViewController:viewController 动画:YES 完成:nil];

换句话说,它无法识别 self.storyboard... 无论如何,感谢您的帮助!

【讨论】:

以上是关于单击一行时视图不会改变 - xcode ios的主要内容,如果未能解决你的问题,请参考以下文章

iOS View 在方向改变时不会改变方向

单击表行时可可绑定“选择”不会改变

onchange 不会改变 AngularJS 视图中的 $scope

单击一行时使用表格视图数据填充文本字段

按钮图像在单击时不会改变,直到我快速单击另一个按钮

状态栏样式不会因单个视图而改变 - Swift 2/iOS9