ios中几种跳转方式,普通,和StoryBoard跳转
来源:互联网 发布:树莓派安装unity3d 编辑:程序博客网 时间:2024/06/07 10:31
一、纯代码界面跳转方式
1.导航控制器(UINavigationController)
[self.navigationController pushViewController:NewVC animated:YES];//跳转到下一界面
[self.navigationController popViewControllerAnimated:YES];//返回上一界面
2.使用模态弹出的方式(UIViewController)
[self presentViewController:NewVC animated:YES completion:nil];//present到下一界面
[self dismissViewControllerAnimated:YES completion:nil];//推出
3.StroryBoard的连线跳转代码实现,首先在storyBoard上创建两个视图,中间用线连接,选中中间的线段设置线的Identifider
[self performSegueWithIdentifier:@"NewVC" sender:nil];
//传值方式
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
//通过segue判断要跳转到哪个页面
if ([segue.identifier isEqualToString:@"NewVC"]) {
XXXController * destinaVC = segue.destinationViewController;
}
}
跳转到目标视图之后返回根据UINavigationController和UIViewController判断,可以根据情况自定返回方式
二、StoryBoard界面跳转
1.storyboard生成ViewController并添加按钮+storyboard中Action Segue使用modal跳转到另一个storyboard生成的ViewController;-->正常,可以进行跳转
2.storyboard生成ViewController并添加按钮+storyboard中在第一个ViewController中生成导航栏+storyboard中Action Segue使用push跳转到另一个storyboard生成的ViewController;-->正常,可以进行跳转,并可以使用导航栏自带的返回按钮返回上一个页面
3.storyboard生成ViewController并添加按钮+storyboard中不添加任何导航栏+使用presentViewController跳转到另一个xib生成的ViewController;-->正常,可以进行跳转
4.storyboard生成ViewController并添加按钮+storyboard中添加导航栏+使用pushViewController跳转到另一个xib生成的ViewController;-->正常,可以进行跳转,并可以使用导航栏自带的返回按钮返回上一个页面
5.xib生成ViewController并添加按钮+代码生成导航栏(重点)+使用pushViewController跳转到另一个xib生成的ViewController;-->正常,可以进行跳转,并可以使用导航栏自带的返回按钮返回上一个页面
三、
//系统的方法
+ (UIStoryboard *)storyboardWithName:(NSString *)name bundle:(nullable NSBundle *)storyboardBundleOrNil;
- (nullable __kindof UIViewController *)instantiateInitialViewController;
- (__kindof UIViewController *)instantiateViewControllerWithIdentifier:(NSString *)identifier;
1.获取第一个视图storyBoard
/* 加载名为storyboardName的Storyboard */
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:storyboardName bundle:nil];
/* 获取storyboard的InitialViewController 即根控制器*/
FirstViewController *vc = [storyboard instantiateInitialViewController];
其中UIViewController可以根据当前视图进行替换,替换成StoryBoard对应的视图类,然后选择跳转方式
2.获取第二个视图storyboard的某个视图控制器的时候使用
SecondViewController *VC= [storyboard instantiateViewControllerWithIdentifier:@"NewVC”];(这个过程需要在StoryBoard中设置目标视图的Custom Class和StoryBoard ID)
//跳转事件的实现
在第一个视图添加按钮跳转到第二个视图
[self.navigationController pushViewController:VC animated:YES];(第一个视图是带有导航栏的)
2.XIB加载
NSArray *views = [[NSBundle mainBundle] loadNibNamed:@"View1" owner:nil options:nil];
UIView *v = [views lastObject];
CGRect r = v.frame;
r.origin.y += 80;
v.frame = r;
[self.view addSubview:v];
关于Xib加载方式具体:http://www.cocoachina.com/ios/20150202/11086.html
1.导航控制器(UINavigationController)
[self.navigationController pushViewController:NewVC animated:YES];//跳转到下一界面
[self.navigationController popViewControllerAnimated:YES];//返回上一界面
2.使用模态弹出的方式(UIViewController)
[self presentViewController:NewVC animated:YES completion:nil];//present到下一界面
[self dismissViewControllerAnimated:YES completion:nil];//推出
3.StroryBoard的连线跳转代码实现,首先在storyBoard上创建两个视图,中间用线连接,选中中间的线段设置线的Identifider
[self performSegueWithIdentifier:@"NewVC" sender:nil];
//传值方式
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
//通过segue判断要跳转到哪个页面
if ([segue.identifier isEqualToString:@"NewVC"]) {
XXXController * destinaVC = segue.destinationViewController;
}
}
跳转到目标视图之后返回根据UINavigationController和UIViewController判断,可以根据情况自定返回方式
二、StoryBoard界面跳转
1.storyboard生成ViewController并添加按钮+storyboard中Action Segue使用modal跳转到另一个storyboard生成的ViewController;-->正常,可以进行跳转
2.storyboard生成ViewController并添加按钮+storyboard中在第一个ViewController中生成导航栏+storyboard中Action Segue使用push跳转到另一个storyboard生成的ViewController;-->正常,可以进行跳转,并可以使用导航栏自带的返回按钮返回上一个页面
3.storyboard生成ViewController并添加按钮+storyboard中不添加任何导航栏+使用presentViewController跳转到另一个xib生成的ViewController;-->正常,可以进行跳转
4.storyboard生成ViewController并添加按钮+storyboard中添加导航栏+使用pushViewController跳转到另一个xib生成的ViewController;-->正常,可以进行跳转,并可以使用导航栏自带的返回按钮返回上一个页面
5.xib生成ViewController并添加按钮+代码生成导航栏(重点)+使用pushViewController跳转到另一个xib生成的ViewController;-->正常,可以进行跳转,并可以使用导航栏自带的返回按钮返回上一个页面
三、
//系统的方法
+ (UIStoryboard *)storyboardWithName:(NSString *)name bundle:(nullable NSBundle *)storyboardBundleOrNil;
- (nullable __kindof UIViewController *)instantiateInitialViewController;
- (__kindof UIViewController *)instantiateViewControllerWithIdentifier:(NSString *)identifier;
1.获取第一个视图storyBoard
/* 加载名为storyboardName的Storyboard */
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:storyboardName bundle:nil];
/* 获取storyboard的InitialViewController 即根控制器*/
FirstViewController *vc = [storyboard instantiateInitialViewController];
其中UIViewController可以根据当前视图进行替换,替换成StoryBoard对应的视图类,然后选择跳转方式
2.获取第二个视图storyboard的某个视图控制器的时候使用
SecondViewController *VC= [storyboard instantiateViewControllerWithIdentifier:@"NewVC”];(这个过程需要在StoryBoard中设置目标视图的Custom Class和StoryBoard ID)
//跳转事件的实现
在第一个视图添加按钮跳转到第二个视图
[self.navigationController pushViewController:VC animated:YES];(第一个视图是带有导航栏的)
2.XIB加载
NSArray *views = [[NSBundle mainBundle] loadNibNamed:@"View1" owner:nil options:nil];
UIView *v = [views lastObject];
CGRect r = v.frame;
r.origin.y += 80;
v.frame = r;
[self.view addSubview:v];
关于Xib加载方式具体:http://www.cocoachina.com/ios/20150202/11086.html
阅读全文
0 0
- ios中几种跳转方式,普通,和StoryBoard跳转
- ios中几种跳转方式,普通,和StoryBoard跳转
- ios storyboard 视图跳转
- iOS StoryBoard 跳转
- Storyboard 跳转 和 传值
- Storyboard 跳转 和 传值
- Storyboard 跳转 和 传值
- StoryBoard 使用自定义 跳转 方式
- IOS storyboard 的页面跳转
- iOS 不同storyboard之间跳转
- IOS storyboard文件界面跳转
- iOS从xib界面跳转到storyboard 中的界面和从storyboard中的界面跳转到另一个storyboard中的界面
- storyboard 跳转
- iOS 页面跳转方式
- iOS 跳转的方式
- iOS界面跳转方式
- iOS多个storyboard间跳转
- ios学习笔记:storyboard页面跳转
- select a method for export 各项的意思
- Android颜色选择器
- 办公不用愁,在线pdf转换器帮你提升工作效率
- 第1章-如何使用本书—零死角玩转STM32-F429系列
- 解决:javac: 无效的目标发行版: 1.8
- ios中几种跳转方式,普通,和StoryBoard跳转
- 基于UWB技术的隧道人员定位系统分析
- 设计模式的几个原则
- 51nod 1405 树的距离之和
- HDU 5493 线段树
- ubuntu16.04环境下安装Python SPAMS包
- Android开发第三方库glide和圆形控件circleimageview一起使用第一次进入无法显示问题
- JavaWeb开发中关于JS校验的代码优化问题
- cordova 一些配置的讲解