iOS应用开发中实现页面跳转的简单方法笔记

时间:2022-01-30 11:21:06

作为新手写的笔记,方便自己记忆:

从android转过来iOS的,对于页面的跳转,找了很多资料,现在记录一下页面跳转的方法。

1.用navigationController

2.直接跳(刚刚在网上找到的,不太熟,有错莫怪)


1.建一个RootViewController,在delegate.h

复制代码 代码如下:


@property (strong, nonatomic) UIViewController *viewController;
@property (strong, nonatomic) UINavigationController *navController;

 

delegate.m代码didFinishLaunchingWithOptions函数中写代码:

RootViewController *rootView = [[RootViewController alloc] init];
   rootView.title = @"Root View";
   
   self.navController = [[UINavigationController alloc] init];
   
   [self.navController pushViewController:rootView animated:YES];
   [self.window addSubview:self.navController.view];


这些代码加载第一个页面RootViewController。
跳转到其他页面(比如SubViewController)代码:

复制代码 代码如下:

SubViewController *subView = [[SubViewController alloc] init];
   [self.navigationController pushViewController:subView animated:YES];
   subView.title = @"Sub";


这样的好处是会自动生成返回按钮。

 


2.直接跳转,什么都没有

不用做其他多余的,直接新建一个view对象

复制代码 代码如下:

SubViewController *subView = [[SubViewController alloc] initWithNibName:@"SubViewController" bundle:[NSBundle mainBundle]];
    [self presentModalViewController:subView animated:YES];


这样就好了。

 

iOS6.0之后都不用这个函数了

复制代码 代码如下:

[self presentModalViewController:subView animated:YES];


可以换成

复制代码 代码如下:

[self presentViewController:subView animated:YES completion:nil];

 

页面跳转时数据的传递
比如在需要实现view1跳到view2的时候,把view1的一些数据传给view2

思路:

1.自定义一个bean类user,在view2实现user为一个成员变量。

2.view1跳的时候把数据封装为user, 并且赋值给view2.user

代码

1. view2

.h 声明成员变量

复制代码 代码如下:

@property (strong, nonatomic) User *user;

 

2. view1

 

复制代码 代码如下:

View2 *view2 = [[View2  alloc] init];
    User *user = [[User alloc] init];
    user.name = @"kevin";
    view2.user = user;
    [self.navigationController pushViewController: view2
animated:YES];


3. view2

 

取到变量

复制代码 代码如下:

self.user.name