博客
关于我
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/

    你可能感兴趣的文章
    MySQL的10种常用数据类型
    查看>>
    MySQL的btree索引和hash索引的区别
    查看>>
    mysql的cast函数
    查看>>
    MySql的CRUD(增、删、改、查)操作
    查看>>
    MySQL的DATE_FORMAT()函数将Date转为字符串
    查看>>
    mysql的decimal与Java的BigDecimal用法
    查看>>
    MySql的Delete、Truncate、Drop分析
    查看>>
    MySQL的Geometry数据处理之WKB方案
    查看>>
    MySQL的Geometry数据处理之WKT方案
    查看>>
    mysql的grant用法
    查看>>
    Mysql的InnoDB引擎的表锁与行锁
    查看>>
    mysql的InnoDB引擎索引为什么使用B+Tree
    查看>>
    MySQL的InnoDB默认隔离级别为 Repeatable read(可重复读)为啥能解决幻读问题?
    查看>>
    MySQL的insert-on-duplicate语句详解
    查看>>
    mysql的logrotate脚本
    查看>>
    MySQL的my.cnf文件(解决5.7.18下没有my-default.cnf)
    查看>>
    MySQL的on duplicate key update 的使用
    查看>>
    MySQL的Replace用法详解
    查看>>
    mysql的root用户无法建库的问题
    查看>>
    mysql的sql_mode参数
    查看>>