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

    你可能感兴趣的文章
    Parallel.ForEach的基础使用
    查看>>
    parallels desktop for mac安装虚拟机 之parallelsdesktop密钥 以及 parallels desktop安装win10的办公推荐可以提高办公效率...
    查看>>
    parallelStream导致LinkedList遍历时空指针的问题
    查看>>
    Parameter ‘password‘ not found. Available parameters are [md5String, param1, username, param2]
    查看>>
    ParameterizedThreadStart task
    查看>>
    Spring security之管理session
    查看>>
    paramiko模块
    查看>>
    param[:]=param-lr*param.grad/batch_size的理解
    查看>>
    spring mvc excludePathPatterns失效 如何解决spring拦截器失效 excludePathPatterns忽略失效 拦截器失效 spring免验证拦截器不起作用
    查看>>
    Spring Cloud 之注册中心 EurekaServerAutoConfiguration源码分析
    查看>>
    Parrot OS 6.2 重磅发布!推出全新 Docker 容器启动器
    查看>>
    Parrot OS 6.3 发布!全面提升安全性,新增先进工具,带来更高性能
    查看>>
    ParseChat应用源码ios版
    查看>>
    Part 2异常和错误
    查看>>
    Pascal Script
    查看>>
    Spring Boot集成Redis实现keyspace监听 | Spring Cloud 34
    查看>>
    Spring Boot中的自定义事件详解与实战
    查看>>
    Passport 密码模式
    查看>>
    Spring Boot(七十六):集成Redisson实现布隆过滤器(Bloom Filter)
    查看>>
    passwd命令限制用户密码到期时间
    查看>>