iOS 自定義view里實現控制器的跳轉


1、view里實現控制器的modal

  • 拿到主窗口的根控制器,用根控制器進行modal需要的modal的控制器

    • 場景:點擊自定義view里的按鈕實現控制器的modal

    UIViewController *root = [UIApplication sharedApplication].keyWindow.rootViewController;
    [root presentViewController:<#(nonnull UIViewController *)#> animated:YES completion:nil];

2、主流框架下 ,自定義view里實現控制器的push

  • 拿到主窗口的根控制器UITabBarController,用UITabBarController 選中的控制器(導航控制器)進行push

UITabBarController *tabBarVc = (UITabBarController *)[UIApplication sharedApplication].keyWindow.rootViewController;
    UINavigationController *nav = (UINavigationController *)tabBarVc.selectedViewController;
    [nav pushViewController:<#(nonnull UIViewController *)#> animated:YES];

3、主流框架下,自定義view里利用到UITabBarController控制器 modal 出來的導航控制器push

  • modal 關系

 UIViewController *a ;
    UIViewController *b ;
    [a presentViewController:b animated:YES completion:nil];
    b.presentingViewController (該屬性指向) -> a 
    a.presentedViewController  (該屬性指向) -> b


  • 做法

UIViewController *root = [UIApplication sharedApplication].keyWindow.rootViewController;
    UINavigationController *nav = (UINavigationController *)root.presentedViewController;
    [nav pushViewController:<#(nonnull UIViewController *)#> animated:YES];


免責聲明!

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



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