UINavigationController(导航控制器)-创新互联

1.UINavigationController (导航控制器)

创新互联建站是一家集网站建设,色尼企业网站建设,色尼品牌网站建设,网站定制,色尼网站建设报价,网络营销,网络优化,色尼网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

 1.1 是什么?

       继承自UIViewController,依然是一种控制器,

       这种控制器没有具体的view,是管理控制器的控制器

 1.2 优点?

     能够管理和控制VC的走向,比present方式更清晰

     有层级关系的  push...   pop...

     没有层级关系的  present...   dismiss...

  1.3 如何使用?

     step1:创建UINavigationController的实例

     step2:创建一个具体的vc实例,并将这个vc设置为UINavigationController的根视图控制器

     step3:设置navigationController为window的根视图控制器

     step4:想推出新的vc时,可以使用pushViewController的方法

     step5:想回退到上一个vc时,可以不写代码;或者是使用popViewController的方法

   1.4 内部原理

      1)navi内部有一个可以存储多个vc的数组,就是self.navigationController.viewControllers属性;并且这个数组使用“栈”的方式来管理数据。“栈”的特点:先进后出,后进先出。

      2)navi必须 有一个根视图控制器作为第一个展示的vc

      3)push出一个新的vc时,就是往栈属性中入栈一个vc对象,新的vc入栈之前显示的那个vc不会被释放

      4)pop现有vc时,才是将这个vc释放掉

      5)不能pop根vc

  1.5 配置导航栏

       访问导航栏:self.navigationItem

       导航栏包含三部分:

       1)中间的title

            self.title=  @“”;

       2)左侧的按钮区域

           self.navigationItem.leftBarButtonItem/s

       3)右侧的按钮区域

           self.navigationItem.rightBarButtonItem/s

       4)按钮的类型:UIBarButtonItem类型

            可以使用initWithTitle。。方法创建自定义

            文本内容的按钮

            可以使用initWithBarButtonSystemItem…方法创建系统定义好的,有固定外观的按钮

  1.6 配置工具栏

       访问工具栏:self.toolBarItems

       工具栏默认是隐藏的,修改以下属性可以显示

       

self.navigationController.toolbarHidden = NO;

       工具栏中加载的也是UIBarButtonItem类型的按钮

  1.7 特效按钮

      UIBarButtonSystemItemFixedSpace木棍效果:距离是固定的。通过修改barButton的width属性来调整按钮的宽度

      UIBarButtonSystemItemFlexibleSpace弹簧效果:距离是可变的,可以根据外在的宽度调整按钮所占的宽度

    1.8 推出新VC时,设置底部bar区域隐藏

    

bvc.hidesBottomBarWhenPushed = YES;

        1.9 导航控制器可以设置的属性的作用于范围

     属性:

         .title

         .navigationItem.leftBarButtonItem/s

         .navigationItem.rightBarButtonItem/s

         .toolbarItems

      以上四个属性的设置只负责当前所属的vc

     属性:

         .navigationController.toolbarHidden

       设置后,针对导航控制器管理的所有vc都生效

    1.10 问:在不同的vc中都可以访问self.navigationController,那么是同一个导航控制器吗?

        答:是

2. UIImageView

  数据类型:NSString —>UILabel 显示

             UIImage—>UIImageView 显示

  2.1 如何使用

     属性:

     contentMode用于设置内容显示的方式

      UIViewContentModeScaleToFill:

               修改宽高比,适应p_w_picpathView的区域大小,图片会被拉伸,不留白边

      UIViewContentModeScaleAspectFit:

               维持宽高比不变的情况下,将整张图片可见,由于图片的宽高比和设置的p_w_picpathView的frame的宽高比如果不协调的话,可能会留白边儿。

      UIViewContentModeScaleAspectFill:

               保持宽高比不变的情况下,将p_w_picpathView所占的区域填满,所以只会显示图片的一部分,不会留白

     【Demo2_UIImageView】

    属性:

        layer.cornerRadius设置圆角的半径

        layer.masksToBounds开启按边缘遮罩

       layer.borderWidth设置边框宽度

       layer.borderColor设置边框颜色


3.UIScrollView

     3.1 作用:

       在有限的区域内,显示更多的数据或图片

    3.2 本质:

       管理view的view,scrollView本身没有任何的外观,依靠添加到scrollView中的其他视图来完成界面的显示

    3.3 如何使用

       重要的属性:

        .frame设置scrollView用多大的窗口来显示内容

        .contentSize 设置了可滚动的区域的大小

        .contentOffset 设置frame定点与内容的左顶点的偏移坐标

        .contentInset 设置内容与边界之间的上、左、下、右的距离

       其他属性:

        .bounces是否可以弹跳

        .showsHorizontalScrollIndicator是否显示水平方向滚动条

        .showsVerticalScrollIndicator 是否显示垂直方向滚动条

        .indicatorStyle

    3.4如何实现滚动视图内容的缩放

       step1:设置滚动内容缩放的大比率

       step2:设置滚动内容缩放的最小比率

       step3:回答问题,说明scrollView里面的哪个子视图需要缩放

======================================================================================

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


网站名称:UINavigationController(导航控制器)-创新互联
URL标题:http://pwwzsj.com/article/cegdps.html