永发信息网

ios开发:怎么实现点击一个按钮,跳转到一个新的界面,急阿,求救~~~

答案:5  悬赏:60  手机版
解决时间 2021-02-01 18:13
我是ios开发新手,现在需要做一项功能,点击一个按钮,然后会跳转到一个新的界面,很急,求高手指点!
最佳答案
你需要详细了解一下UINavigationController,它可以进行页面的管理和切换。
使用
[self.navigationController pushViewController:viewController animated:YES];
方法
还有其它的方法:
1、利用模态视图
ViewController *controller = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];

[self presentModalViewController:controller animated:YES];
[controller release];

2、在同一个ViewController下添加新的视图
[self.view addSubviewToFront:View];
全部回答
争议ios和android不一样,只需要在将你需要的Controller加载进来可以了。
一种就是对View的操作,把直接的View移除掉,一种就是让本身的ViewController的根视图为UINavigationController依托,然后push进去,返回时在pop出来
1.可以使用导航控制器栈。将当前视图控制器作为rootViewController.需要在创建当前控制器的代码中这样来创建 UIViewController *vc1=[[UIViewControlelr alloc] init]; UINavigationController *navController =[[UINavigationController alloc] initWithRootViewController:vc1]; [vc1 release]; [window addSubView:navController.view]; [navController release]; 只有当当前控制器在导航控制器栈中才可以使用pushViewController来导航其它视图 导航到新的视图控制器: UIViewController *vc2=[[ViewController alloc] init]; [self.navigationController pushViewController:vc2 animated:YES]; [vc2 release]; 2.模态视图 UIViewController *vc2=[[ViewController alloc] init]; [self presentModalViewController:controller animated:YES]; [vc2 release]; 3.使用新的视图覆盖当前视图 如果使用这种方式,建议创建一个可维护控制器之间交互的控制器swithController,在这个控制器中来实现不同控制器之间的视图切换 @inertface SwitchViewController:UIViewController @property(retain) UIViewController *vc1 @property (retain) UIViewController *vc2; -(void)showVC1; -(void)showVC2; @end @implementation SwitchViewController @synthesize vc1,vc2; -(void)showVC1 { if (vc2) { [vc2.view removeFromSuperView]; } [self.view addSubView:vc1.view]; } @end
iOS三种视图切换的原理各不相同: UITabBarController:以平行的方式管理视图,各个视图之间往往关系并不大,每个加入到UITabBarController的视图都会进行初始化即使当前不显示在界面上,相对比较占用内存。 UINavigationController:以栈的方式管理视图,各个视图的切换就是压栈和出栈操作,出栈后的视图会立即销毁。 UIModalController:以模态窗口的形式管理视图,当前视图关闭前其他视图上的内容无法操作。 1.可以使用导航控制器栈。 微博项目中就是用到这种方法 将当前视图控制器作为rootViewController.需要在创建当前控制器的代码中这样来创建 UIViewController *vc1=[[UIViewControlelr alloc] init]; UINavigationController *navController =[[UINavigationController alloc] initWithRootViewController:vc1]; [vc1 release]; [window addSubView:navController.view]; [navController release]; 只有当当前控制器在导航控制器栈中才可以使用pushViewController来导航其它视图 导航到新的视图控制器: UIViewController *vc2=[[ViewController alloc] init]; [self.navigationController pushViewController:vc2 animated:YES]; [vc2 release]; 当返回上一界面时,可以参考微博界面的返回; 2.模态视图 UIViewController *vc2=[[ViewController alloc] init]; [self presentModalViewController:controller animated:YES]; 退出参考WFCoreText [self dismissViewControllerAnimated:YES completion:NULL]; 3.使用新的视图覆盖当前视图 如果使用这种方式,建议创建一个可维护控制器之间交互的控制器swithController,在这个控制器中来实现不同控制器之间的视图切换 @inertface SwitchViewController:UIViewController @property(retain) UIViewController *vc1 @property (retain) UIViewController *vc2; -(void)showVC1; -(void)showVC2; @end @implementation SwitchViewController @synthesize vc1,vc2; -(void)showVC1 { if (vc2) { [vc2.view removeFromSuperView]; } [self.view addSubView:vc1.view]; } @end
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
伽玥瑜伽地址好找么,我有些事要过去
变形计哪一集是有外国人的
马饩的意思是什么啊?知道的请说下!
黄山千岛湖高速公路什么时候动工,
在Na2CO3和CaCO3的混合固体混合物中,Na+和Ca2
我是向上向善好少年3分钟演讲稿
我在宁德,现在急需用5000元钱,我能提供身份
我每天都在吃南瓜吃多了皮肤会变黄吗?
德阳市区丽梵瑜伽会馆怎么去啊,我要去那办事
地下城 物品,信息,技能框没了
请问合约机到底是怎么回事啊,是买了就不用再
werdery是英文单词吗
在我国灿烂的历史文化宝库中,有许多言简意赅
美国到底欠中国多少钱,中国为何还买美国国债,
改报关单的情况说明怎么写
推荐资讯
新车怎样看点位比较准
蜂起的意思是什么啊?知道的请说下!
网络摄像头怎么用
下图从左至右表示动作电位传导的示意图。据图
在广州坦尾买赃物自行车会被捉吗?
涡轮增压发动机转速达到2000-2500时涡轮才发
老师,您好,我有两只玉镯,一只絮多杂质也有
鲟鱼杆和鲤鱼杆的区别
凤鹤的意思是什么啊?知道的请说下!
李宁韦德团队鞋款啥意思?
小米3听一会音乐后。声音变得奇怪断断续续的
全国有多少叫斯琴高娃的
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?