zoukankan      html  css  js  c++  java
  • 每天一点Swift(五)控制器的生命周期和SizeClass

    字数358 阅读19 评论0 

    初始化init-->awakeFromNib--> prepare a segue --> SB去设置outlets --> viewDidLoad

    1. viewDidLoad

    在viewDidLoad中,outlets已经被设置;但是几何位置(bounds)并没有被设置

    viewDidLoad应该做什么:

    初始化你的view的最佳时机,或者说是根据你的model来更新UI;
    不要在这里做任何关于几何位置的事情。

    2.viewWillAppear

    viewWillAppear应该做什么:请求网络数据这种耗时的工作放在这里;也允许做与位置相关的操作。

    3. 布局

    viewWillLayoutSubviews --> autoLayout去自动布局 -->viewDidLayoutSubviews

    4.viewWillDisappear

    viewWillAppear应该做什么:做清理数据的工作。

     

    举个splitviewController例子:下面Psychologist是master控制器,happiness是detail控制器

    AutoLayout:

    利用preview查看当前storyboard:

    用Ctrl+拖线来设置SB中的AutoLayout时,可以按住shift来多选。

    调整压缩系数,表示当设备的名目尺寸发生变化时,哪些view可以优先被压缩。优先值越低,越会被压缩。

    hugging是,这个view到底想不想变小。

    imageView的自动布局,在SB中给它设置一张默认的图片,那么他就有默认的宽高。就只用设置位置约束了。

    topConstraint并没有设置Equal而是greater than。。。 所以图片可以自适应大小。

    SizeClass:

    1. 先在any any下实现统一布局

    2.选择特殊情况下的sizeClass

    3. 移除原来any any的约束,

  • 相关阅读:
    java 的异常和错误,有哪些
    java里的15种锁
    Netty知识点总结(一)——NIO
    Java中的路径问题
    Java定时任务-Timer
    安装Idea后需要做的3件事
    线程中的队列(queue)
    信号量(Semaphore)
    python线程的同步事件Event
    python中的GIL
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/5294418.html
Copyright © 2011-2022 走看看