zoukankan      html  css  js  c++  java
  • Swift 4.0 + Ipad开发项目中值得注意知识点

    1.注意Xib的约束和代码的约束,注意适配问题;

    2.设置view的frame可以使用view.frame.maxX实现布局;

    3.UIStackView在xib中的使用,可以很好的实现约束,布局和屏幕适配;

    4.viewDidLoad和viewWillLayoutSubviews写view.frame区别:

    这个就涉及到控制器的生命周期问题:

        ARC环境

    • 单个viewController的生命周期
      • initWithCoder:(NSCoder *)aDecoder:(如果使用storyboard或者xib)
      • loadView:加载view
      • viewDidLoad:view加载完毕
      • viewWillAppear:控制器的view将要显示
      • viewWillLayoutSubviews:控制器的view将要布局子控件
      • viewDidLayoutSubviews:控制器的view布局子控件完成
        这期间系统可能会多次调用viewWillLayoutSubviews 、 viewDidLayoutSubviews 俩个方法
      • viewDidAppear:控制器的view完全显示
      • viewWillDisappear:控制器的view即将消失的时候
        这期间系统也会调用viewWillLayoutSubviews 、viewDidLayoutSubviews 两个方法
      • viewDidDisappear:控制器的view完全消失的时候
    • 多个viewControllers跳转
      • 当我们点击push的时候首先会加载下一个界面然后才会调用界面的消失方法
      • initWithCoder:(NSCoder *)aDecoder:ViewController2 (如果用xib创建的情况下)
      • loadView:ViewController2
      • viewDidLoad:ViewController2
      • viewWillDisappear:ViewController1 将要消失
      • viewWillAppear:ViewController2 将要出现
      • viewWillLayoutSubviews ViewController2
      • viewDidLayoutSubviews ViewController2
      • viewWillLayoutSubviews:ViewController1
      • viewDidLayoutSubviews:ViewController1
      • viewDidDisappear:ViewController1 完全消失
      • viewDidAppear:ViewController2 完全出现
    • 小结:
      -整个控制器声明周期: viewDidLoad -> viewWillAppear -> viewWillLayoutSubviews -> viewDidLayoutSubviews -> viewDidAppear -> viewWillDisappear -> viewDidDisappea
    5.UIView的setNeedsDisplay和setNeedsLayout方法:
     
    首先两个方法都是异步执行的。而setNeedsDisplay会调用自动调用drawRect方法,这样可以拿到 UIGraphicsGetCurrentContext,就可以画画了。而setNeedsLayout会默认调用layoutSubViews,
    就可以 处理子视图中的一些数据。
    综上所诉,setNeedsDisplay方便绘图,而layoutSubViews方便出来数据。
     
  • 相关阅读:
    [Android][Framework]裁剪SystemServer服务以及关闭SystemFeature
    [TensorFlow]Tensor维度理解
    [Objective-C]用Block实现链式编程
    [iOS]创建界面方法的讨论
    [Objective-C]编程艺术 笔记整理
    [Objective-C] Copy 和 MutableCopy
    win10的react native 开发环境搭建,使用Android模拟器
    填坑:Windows下使用OpenSSL生成自签证书(很简单,一个晚上搞明白的,让后来者少走弯路)
    转载:量化投资中常用python代码分析(一)
    转载:python生成以及打开json、csv和txt文件
  • 原文地址:https://www.cnblogs.com/pengsi/p/8721249.html
Copyright © 2011-2022 走看看