繁体   English   中英

如何从UIView导航UIViewController

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM