zoukankan      html  css  js  c++  java
  • UINavigationController

    利用UINavigationController,能够轻松地管理多个控制器。轻松完毕控制器之间的切换,典型样例就是系统自带的“设置”应用

    UINavigationController的使用步骤
    初始化UINavigationController
    设置UIWindow的rootViewController为UINavigationController
    依据详细情况,通过push方法加入相应个数的子控制器。



    UINavigationController以栈的形式保存子控制器
    @property(nonatomic,copy) NSArray *viewControllers;
    @property(nonatomic,readonly) NSArray *childViewControllers;


    使用push方法能将某个控制器压入栈
    - (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated;


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



    1.导航栏的View显示的内容是栈顶控制器的View.
    2.导航栏的内容由栈顶控制器的navigationItem属性决定.

    UINavigationItem有下面属性影响着导航栏的内容
    左上角的返回button
    @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;


    // 改动下一个界面返回button的文字
    self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"返回" style:UIBarButtonItemStyleDone target:nil action:nil];


  • 相关阅读:
    vue:自定义指令
    vue去掉严格开发,即去掉vue-cli安装时的eslint
    vue路由6:导航钩子
    vue路由5:命名视图
    vue路由3:子路由
    vue组件通信之任意级组件之间的通信
    vue中组件通信之子父通信
    令狐冲也是个情场高手啊
    Java —— 时区(夏令时)问题
    PL/SQL 如何导出INSERT语句
  • 原文地址:https://www.cnblogs.com/gavanwanggw/p/7350238.html
Copyright © 2011-2022 走看看