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

    你可能感兴趣的文章
    TCP基本入门-简单认识一下什么是TCP
    查看>>
    tableviewcell 中使用autolayout自适应高度
    查看>>
    Orcale表被锁
    查看>>
    svn访问报错500
    查看>>
    Orderer节点启动报错解决方案:Not bootstrapping because of 3 existing channels
    查看>>
    org.apache.ibatis.exceptions.PersistenceException:
    查看>>
    org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned
    查看>>
    org.apache.ibatis.type.TypeException: Could not resolve type alias 'xxxx'异常
    查看>>
    org.apache.poi.hssf.util.Region
    查看>>
    org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I)Lorg/apache/xmlbeans/XmlOptions;
    查看>>
    org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /
    查看>>
    org.hibernate.HibernateException: Unable to get the default Bean Validation factory
    查看>>
    org.hibernate.ObjectNotFoundException: No row with the given identifier exists:
    查看>>
    SQL-CLR 类型映射 (LINQ to SQL)
    查看>>
    org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
    查看>>
    org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
    查看>>
    org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded
    查看>>
    org.tinygroup.serviceprocessor-服务处理器
    查看>>
    org/eclipse/jetty/server/Connector : Unsupported major.minor version 52.0
    查看>>
    org/hibernate/validator/internal/engine
    查看>>