如何解决iOS:在子视图中使用导航控制器
在我的程序视图中,我有一个按钮,并使用此按钮可以打开一个子视图。该子视图是带有表视图的视图。当我推表视图的一行时,我想转到另一个视图,所以我想使用导航控制器来实现。我怎样才能做到这一点?解决方法
当您单击表的某一行时,您的表视图委托将收到“ 0”消息。
您可以在其中放置代码以创建UINavigationController并将其推入新视图。
此示例代码(来自我在S.O.上的另一个答案)显示了如何执行此操作:
UINavigationController* navigation = [[UINavigationController alloc] init];
iVkViewController *overviewViewController = [[iVkViewController alloc] init];
overviewViewController.title = @\"First\";
[navigation pushViewController:overviewViewController animated:NO];
这应该可以帮助您使事情步入正轨。
旁注:您可能会从一开始就考虑使用导航控制器,这会使您的UI更加“行为良好”,但这最终取决于您的应用程序要求。
, 如果UIViewController addSubView是UITableViewController的视图,则要推送tableView:didSelectRowAtIndexPath的方法,则应检查self.navigationController是否为nil。如果为零,您可能应该使用
[self.parentViewController.navigationController pushViewController:controller animated:YES];
如果self.parentViewController也是nil,有时,您必须设置一个@property来指出UITableViewController中的parentViewController,例如:
@property (nonatomic,weak) UIViewController *parentVC;
并在UIViewController中:
UITableViewController *tableViewVC = [[UITableViewController alloc] init];
tableViewVC.parentVC = self;
在UITableViewController中,-tableView:didSelectRowAtIndexPath:
[self.parentVC.navigationController pushViewController:controller animated:YES];
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。