[英]How to Navigate UIViewController from UIView
嗨,我是iOS开发的新手,请给我一个从UIView导航到UIViewController的解决方案:这是我使用的代码,但无法正常工作
acceptedJobDetailViewController *acceptedJobDetailViewController = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"acceptedJobDetailViewController"];
[self.navigationController pushViewController:acceptedJobDetailViewController animated:YES];
我也尝试了下面的代码来推送viewcontroller,但是那也不起作用,请帮助我解决这个问题:
[appDelegate.navControl pushViewController:acceptedJobDetailViewController animated:YES];
请在情节提要中添加导航控制器。
step -1: select acceptedJobDetailViewController from storyboard.
step -2: now go to Editor>EmbedIn>NavigationController
step -3: now below code and run your project
acceptedJobDetailViewController *acceptedJobDetailViewController = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"acceptedJobDetailViewController"];
如果您已经在storyboard
添加了NavigationController
,并且尝试从UIView
Class推送屏幕,而不使用以下代码:
UIViewController *superViewController = (UIViewController*)[self nextResponder];
UINavigationController *navigationController = superViewController.navigationController;
[navigationController pushViewController:<YOUR_VIEW_CONTROLLER_OBJECT> animated:YES];
如果您还没有导航,请在您的ViewController之前添加它,如下所示
Select ViewController -> Go to Editor Menu -> Embed In -> Navigation Controller
现在,添加到情节提要中的Navigation Controller现在可以执行以前的操作。
acceptedJobDetailViewController *acceptedJobDetailViewController = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"acceptedJobDetailViewController"];
[self.navigationController pushViewController:acceptedJobDetailViewController animated:YES];
希望这会有所帮助。
尝试这个
[[(UIViewController *)[self.superview nextResponder] navigationController] pushViewController:"your viewcontroller object" animated:NO];
更新至快速3
(superview?.next? as? UIViewController)?.navigationController?.pushViewController("your viewcontroller object", animated: false)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.