IOS頁面跳轉的方法


在頁面跳轉時,若想用pushViewController,則必須在AppDelegate設置UINavigationController,否則pushViewController無效。
並且用pushViewController從A跳往B后,在B頁面自帶“Back”按鈕返回上一頁。類似於

這樣設置,在AppDelegate中

 1 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
 2     self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen] bounds]];
 3     UIViewController *controllerA = [[ViewController alloc]init];
 4     UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:controllerA];
 5     
 6     self.window.rootViewController = nav;
 7     [self.window makeKeyAndVisible];
 8     
 9     return YES;
10 }

在controllerA中的跳轉頁面方法中這樣寫

-(void)turnToOtherController{
    ControllerB *controllerB = [[ControllerB alloc]init];
    [self.navigationController pushViewController:controllerB animated:YES];
}

這樣,導航條就會一直存在。若不想要導航條,那么在AppDelegate這樣寫

1 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
2     self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen] bounds]];
3     UIViewController *controllerA = [[ViewController alloc]init];
4     self.window.rootViewController = controllerA;
5     [self.window makeKeyAndVisible];
6     
7     return YES;
8 }

而下面這種方法是通用的,無需設置rootViewController。

[self presentViewController:mainView animated:YES completion:nil];//controller自帶的屬性

下面的則需要

[self.navigationController pushViewController:mainView animated:YES];
//必須在AppDelegate設置UINavigationController,否則pushViewController無效。
//並且使用pushViewController后,在B頁面,會自帶一個“Back”按鈕返回上一頁。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM