zoukankan      html  css  js  c++  java
  • UI基础:UINavigationController、界面通信

    UINavigationControlle

    UINavigationController:导航控制器,是iOS中最常用的多视图控制器之一,它用来管理多个视图控制器。也称为多视图控制器。

    导航控制器可以认为是管理控制器的控制器,主要管理有层级关系的控制器。

    创建:

    UINavigationController继承于UIViewController,以栈的形式管理所 控制的视图控制器,至少要有1个被管理的视图控制器,这个控制器 我们称作,导航控制器的根视图控制器。 任何继承于UIViewController的类(多态)都可以作为根控制器。

    工作原理:

    UINavigationController通过栈的形式管理控制器的切换,控制入栈和出栈 来展示各个视图控制器。

    UINavigationController的ContentView始终显示栈顶控制器的view。 viewControllers属性存储了栈中的所有被管理的控制器

    navigationController属性,父类中的属性,每个在栈中的控制器,都能通 过此属性,获取自己所在的UINavigationController对象。

    入栈和出栈

    pushViewController:animated //进如下一个视图控制器

    popViewControllerAnimated: //返回上一个视图控制器

    popToViewController:animated //返回到指定的视图控制器

    popToRootViewControllerAnimated //返回到根视图控制器

    UINavigationControlle常用属性:

    viewControllers //所有处于栈中的控制器

    topViewController //位于栈顶的控制器

    visibleViewController //当前正在显示的控制器

    navigationBar //导航条

    定制UINavigationBar

    navigationBar—导航条,iOS7之后默认是透明的,iOS7之前默认是不 透明的。

    navigationBar在透明情况,与contentView会重合一部分区域。 navigationBar在不透明情况,contentView跟在navigationBar的下面。

    navigationBar竖屏下默认高度44,横屏下默认高度32.

    自定义navigationBar

    barTintColor //设置导航条的颜色

    setBackgroundImage:forBarMetrics: //导航条加背景图片

    管理UINavigationItem

    UINavigationBar除了能定义自身的样式外,还管理一组 UINavigationItem。

    与UINavigationController相似,UINavigationBar也是以栈的形式管 理一组UINavigationItem。提供push和pop操作item。

    每个视图控制器都有一个navigationItem属性。navigationItem中设 置的左按钮、右按钮、标题等,会随着控制器的显示,也显示到 navigationBar上

    UINavigationItem

    UINavigationItem属于MVC中的M。封装了要显示在UINavigationBar上 的数据。

    title //标题

    titleView //标题视图

    leftBarButtonItem //左按钮

    rightBarButtonItem //右按钮

    UIBarButtonItem

    UIBarButtonItem属于MVC的M。定义了UINavigationItem上按钮的触 发事件,外观等

    -initWithBarButtonSystemItem:target:action:

    -initWithTitle:style:target:action:

    -initWithImage:style:target:action:

    tintColor

    界面间传值

    属性传值

    代理传值

    UINavigationController以栈的形式管理视图控制器。

    通过push和pop 控制跳转 UINavigationBar管理一组UINavigationItem,UINavigationItem包含了 UIBarButtonItem。

    使用属性传值解决从前往后传值的问题

    使用delegate解决从后往前传值的问题

  • 相关阅读:
    转载:通过Servlet生成验证码
    转载:web工程中URL地址的推荐写法
    使用Git上传本地项目代码到github
    $watch 和 $apply
    平时用的sublime插件
    zTree.js
    js
    npm install详解
    git
    git基础
  • 原文地址:https://www.cnblogs.com/shaoting/p/4639228.html
Copyright © 2011-2022 走看看