zoukankan      html  css  js  c++  java
  • imageRectForContentRect,titleRectForContentRect,contentRectForBounds,imageRectForContentRect什么时候调用

    UIButton的布局顺序细节

      什么时候调用imageRectForContentRect,titleRectForContentRect,contentRectForBounds,imageRectForContentRect,也是调用时机。首先梳理清楚几个布局的规则:

    1. 改变view的size会触发layoutSubviews
    2. 改变view的x或y不会触发layoutSubviews
    3. 改变subview的size会触发superview的layoutSubviews
    4. 改变subview的x或y不会触发自己以及父视图的layoutSubviews

    记住这几个布局时的调用顺序:

    1. layoutSubviews
    2. backgroundRectForBounds:
    3. contentRectForBounds:
    4. imageRectForContentRect:
    5. titleRectForContentRect:

    特别的:

    • 在UIButton初始化阶段会依次调用contentRectForBounds:,imageRectForContentRect:。这是在布局之前完成的。
    • 改变title,image,background image都会来到进行绿色文字顺序的布局。但不会触发父视图的布局,因为UIButton的尺寸未变。
    • 绿色文字区域的调用并不是一次完成。而是复杂的多次调用完成的。它的顺序是:3 -> 4 -> 3 -> 5 -> 3 -> 4

    转注出:https://www.cnblogs.com/xiaobajiu/p/11774496.html

  • 相关阅读:
    Redis安装与配置
    Mysql主从复制
    MySQL的基本使用
    如何理解 python 里面的 for 循环
    我在创业公司的 “云原生” 之旅
    linux 安装 kafka
    数据库性能优化
    Shell 中各种括号的作用
    DNS 配置实例-正反解析-主从同步-分离解析
    DHCP 中继转发配置(ensp 实现)
  • 原文地址:https://www.cnblogs.com/xiaobajiu/p/11774496.html
Copyright © 2011-2022 走看看