iOS应用开发中实现页面跳转的简单方法笔记
程序员文章站
2022-10-09 09:45:21
作为新手写的笔记,方便自己记忆:
从android转过来ios的,对于页面的跳转,找了很多资料,现在记录一下页面跳转的方法。
1.用navigationcontroll...
作为新手写的笔记,方便自己记忆:
从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