zoukankan      html  css  js  c++  java
  • 【iOS系列】-UINavigationController的使用(Segue传递数据)

    【iOS系列】-UINavigationController的使用

    UINavigationController是以以栈(先进后出)的形式保存子控制器,

    常用属性:

    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;
    

    常用方法

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

    Segue<仅仅针对SB连线>

    Segue:Storyboard上每一根用来界面跳转的线,都是一个UIStoryboardSegue对象


    属性

    //标识
    @property (nonatomic, readonly) NSString *identifier;
    //来源控制器
    @property (nonatomic, readonly) id sourceViewController;
    //目标控制器
    @property (nonatomic, readonly) id destinationViewController;
    

    操作
    Segue的跳转分为两大类:
    1:自动:点击按钮,或者控件后,自动执行;
    在Storeboard中直接在控件上,按住control键,往目标控制器脱线
    2:手动
    在源控制器上按住control键,往目标控制器脱线,不涉及具体控件
    手动的我们需要设置标识
    [self performSegueWithIdentifier:@"XXXX" sender:nil];
    手动Segue我们可以在控制器调转前后,执行操作或传递参数,

    //在源控制器中执行以下方法
    
    //第一:执行这个可以进行界面跳转,可在相关逻辑判断后进行界面的跳转
    [self performSegueWithIdentifier:@"XXXX" sender:nil];
    //第二:执行segue后,跳转前会调用,可在这里给下一个控制器传递数据
    - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender;
    

    第一:自动型Segue

    第二:手动型Segue
    图片名称
    第二:手动型Segue设置标识
    图片名称


    作者:Darren

    微博:@IT_攻城师

    github:@Darren90

    博客:http://www.cnblogs.com/fengtengfei/

    欢迎您的访问...


  • 相关阅读:
    个人网站
    物理读,逻辑读,预读
    正则表达式
    面向对象五大基本原则
    工作总结
    sql性能优化
    sqlServer游标的使用
    ASP.NET安全[开发ASP.NET MVC应用程序时值得注意的安全问题](转)
    一个简单问题引发对IEnumerable和IQueryable的思考
    EFCodeFirst 各种命令整理
  • 原文地址:https://www.cnblogs.com/fengtengfei/p/4435824.html
Copyright © 2011-2022 走看看