zoukankan      html  css  js  c++  java
  • iOS UI基础-11.0 UINavigationController

    导航控制器

    利用UINavigationController,可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型例子就是系统自带的“设置”应用

    UINavigationController的使用步骤

    • 初始化UINavigationController
    • 设置UIWindow的rootViewController为UINavigationController
    • 根据具体情况,通过push方法添加对应个数的子控制器

    使用push方法能将某个控制器压入栈

    - (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated;

    使用pop方法可以移除控制器

    将栈顶的控制器移除
    - (UIViewController *)popViewControllerAnimated:(BOOL)animated;
    回到指定的子控制器
    - (NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated;
    回到根控制器(栈底控制器)
    - (NSArray *)popToRootViewControllerAnimated:(BOOL)animated;

    销毁一个控制器

    [self dismissViewControllerAnimated:YES completion:nil];

    或者采用循环的方法,听说这种方法挺有效

    for (UIViewController *controller in self.navigationController.viewControllers) {
        if ([controller isKindOfClass:[你要跳转到的Controller class]]) {
            [self.navigationController popToViewController:controller animated:YES];
        }
    }

    导航栏

    导航栏的内容由栈顶控制器的navigationItem属性决定,UINavigationItem有以下属性影响着导航栏的内容。
    左上角的返回按钮
    @property(nonatomic,retain) UIBarButtonItem *backBarButtonItem;
    中间的标题视图
    @property(nonatomic,retain) UIView *titleView;
    中间的标题文字
    @property(nonatomic,copy) NSString *title;
    左上角的视图
    @property(nonatomic,retain) UIBarButtonItem *leftBarButtonItem;
    UIBarButtonItem *rightBarButtonItem  右上角的视图
    @property(nonatomic,retain) UIBarButtonItem *rightBarButtonItem;

    另外技巧

    在View中获取当前导航栏

            // 假设 App 结构是 Root -> TabBar -> Navigation -> ViewController
            UITabBarController *tabBarControler = (id)[UIApplication.sharedApplication.delegate.window.rootViewController;
            UINavigationController *navigationController = tabBarControler.selectedViewController;

      

  • 相关阅读:
    IDETalk
    servlet概述
    过滤器(Filter)
    ieda常用快捷键
    UUID
    JRebel 7.0.10 for intellij IDEA 2017.1
    BP神经网络(手写数字识别)
    遗传算法解决TSP问题
    [CODEVS1258]关路灯
    [NOIP2007]统计数字
  • 原文地址:https://www.cnblogs.com/jys509/p/4825437.html
Copyright © 2011-2022 走看看