博客
关于我
View的众多layout方法简介
阅读量:793 次
发布时间:2019-03-25

本文共 529 字,大约阅读时间需要 1 分钟。

iOS视图层布局是一个常见且基础但又复杂的方面,很多开发者在日常开发中会遇到布局问题。对于UI布局的理解对于创建高质量的应用至关重要。在实际开发中,view的布局管理涉及多个方法和机制,我们需要深入了解这些方法的工作原理以及何时调用它们。

layoutSubviews

layoutSubviews是UIView子类的一个布局方法,由系统调用默认不会有任何动作。在iOS 5.1及之前版本,layoutSubviews不会运行,随着时间的推移,苹果在后期版本中增加了更多的功能。这个方法主要用于子控制件的布局,其默认实现使用约束(Constraint)来确定子控件的大小和位置。需要特别强调的是,只有当child view的frame不为CGRectZero时,才会触发这个方法。因此,开发者在需要定制子控制件布局时,这是一个重要的手段。

关于调用时机,有几种常见情形:

  • 权重大时自动调用。

  • 添加子控件时调用一次。

  • 当view的尺寸发生变化时,前提是frame值有变化。

  • 在滚动UIScrollView时调用。

  • 当旋转屏幕时,显示}">

  • <-- 我们这里抽取常用的几个进行验证学习 -->

    <-- layoutSubviews在什么时候会被调用呢?? -->

    转载地址:http://ryiuk.baihongyu.com/

    你可能感兴趣的文章
    Oulipo
    查看>>
    Outlook 2010 Inside Out
    查看>>
    overlay(VLAN,VxLAN)、underlay网络、大二层概述
    查看>>
    OWASP漏洞原理<最基础的数据库 第二课>
    查看>>
    OWL本体语言
    查看>>
    P with Spacy:自定义文本分类管道
    查看>>
    P-DQN:离散-连续混合动作空间的独特算法
    查看>>
    P1035 I need help
    查看>>
    P1073 最优贸易
    查看>>
    P1364 医院设置
    查看>>
    P2260 [清华集训2012]模积和
    查看>>
    P3203 [HNOI2010]弹飞绵羊 —— 懒标记?分块?
    查看>>
    P4313 文理分科
    查看>>
    SpringBoot中集成LiteFlow(轻量、快速、稳定可编排的组件式规则引擎)实现复杂业务解耦、动态编排、高可扩展
    查看>>
    SpringBoot中集成influxdb-java实现连接并操作Windows上安装配置的influxDB(时序数据库)
    查看>>
    P8738 [蓝桥杯 2020 国 C] 天干地支
    查看>>
    package,source folder,folder相互转换
    查看>>
    SpringBoot中集成Flyway实现数据库sql版本管理入门以及遇到的那些坑
    查看>>
    package.json文件常用指令说明
    查看>>
    SpringBoot中集成eclipse.paho.client.mqttv3实现mqtt客户端并支持断线重连、线程池高并发改造、存储入库mqsql和redis示例业务流程,附资源下载
    查看>>