作為新手寫的筆記,方便自己記憶:
從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