在storyboard 中实现ViewController跳转到另一个ViewController

时间:2022-09-08 13:52:02
在storyboard 中实现ViewController跳转到另一个ViewController 要用代码实现,怎么实现?在网上找了为何我实现不了。
新手学习OC 求大神们帮帮忙。

10 个解决方案

#1


用代码实现哪一部分?如果是在VC间传值的话,在prepareForSegue:里处理;如果是代码实现push的话,storyboard就不用连线了,直接初始化第二个ViewController,然后push进行:[self.navigationController pushViewController:viewController animated:YES]

#2


在storyBoard中可通过可视化的操作方式设置控制器之间的跳转。如果只是单纯的跳转没有什么其它的复杂逻辑在里面,在storyboard中就可以连线实现。如果非要使用代码,也只是一句话而已
[self.navigationController pushViewController:yourviewController animated:YES];

#3


引用
不需要传值。怎么初始化viewController(我的被跳转的页面叫HomeView),能给写出来吗?

#4


引用 3 楼 u014599165 的回复:
引用
不需要传值。怎么初始化viewController(我的被跳转的页面叫HomeView),能给写出来吗?

你的HomeView是继承自UIViewController吧,如果是再保证你当前的控制器在导航控制器栈中

HomeView *hv=[[HomeView alloc] init];
[self.navigationController pushViewController:hv animated:YES];

#5


引用
你的HomeView是继承自UIViewController吧,如果是再保证你当前的控制器在导航控制器栈中

在storyboard 中实现ViewController跳转到另一个ViewController在storyboard 中实现ViewController跳转到另一个ViewController在storyboard 中实现ViewController跳转到另一个ViewController

怎么还是不行啊!

#6


你看HomeView初始化成功没有,另外HomeView是不是ViewController?

#7


self.navigationController是不是nil?

#8


引用
self.navigationController是不是nil? 
  为空。HomeView是ViewController。

我在主窗体上加了#import "HomeView.h"
HomeView *hv=[[HomeView alloc] init];
这样不是初初始化吗?

#9


引用 8 楼 u014599165 的回复:
引用
self.navigationController是不是nil? 
  为空。HomeView是ViewController。

我在主窗体上加了#import "HomeView.h"
HomeView *hv=[[HomeView alloc] init];
这样不是初初始化吗?

你的rootViewController不是NavigationController的话,VC就没有navigationController这个对象,你要把ViewController作为NavigationController的rootViewController,再把NavigationController作为Window的rootViewController试试

#10


在storyboard里面,只需要把一个箭头指向NavigationController就可以了

#1


用代码实现哪一部分?如果是在VC间传值的话,在prepareForSegue:里处理;如果是代码实现push的话,storyboard就不用连线了,直接初始化第二个ViewController,然后push进行:[self.navigationController pushViewController:viewController animated:YES]

#2


在storyBoard中可通过可视化的操作方式设置控制器之间的跳转。如果只是单纯的跳转没有什么其它的复杂逻辑在里面,在storyboard中就可以连线实现。如果非要使用代码,也只是一句话而已
[self.navigationController pushViewController:yourviewController animated:YES];

#3


引用
不需要传值。怎么初始化viewController(我的被跳转的页面叫HomeView),能给写出来吗?

#4


引用 3 楼 u014599165 的回复:
引用
不需要传值。怎么初始化viewController(我的被跳转的页面叫HomeView),能给写出来吗?

你的HomeView是继承自UIViewController吧,如果是再保证你当前的控制器在导航控制器栈中

HomeView *hv=[[HomeView alloc] init];
[self.navigationController pushViewController:hv animated:YES];

#5


引用
你的HomeView是继承自UIViewController吧,如果是再保证你当前的控制器在导航控制器栈中

在storyboard 中实现ViewController跳转到另一个ViewController在storyboard 中实现ViewController跳转到另一个ViewController在storyboard 中实现ViewController跳转到另一个ViewController

怎么还是不行啊!

#6


你看HomeView初始化成功没有,另外HomeView是不是ViewController?

#7


self.navigationController是不是nil?

#8


引用
self.navigationController是不是nil? 
  为空。HomeView是ViewController。

我在主窗体上加了#import "HomeView.h"
HomeView *hv=[[HomeView alloc] init];
这样不是初初始化吗?

#9


引用 8 楼 u014599165 的回复:
引用
self.navigationController是不是nil? 
  为空。HomeView是ViewController。

我在主窗体上加了#import "HomeView.h"
HomeView *hv=[[HomeView alloc] init];
这样不是初初始化吗?

你的rootViewController不是NavigationController的话,VC就没有navigationController这个对象,你要把ViewController作为NavigationController的rootViewController,再把NavigationController作为Window的rootViewController试试

#10


在storyboard里面,只需要把一个箭头指向NavigationController就可以了