layoutSubviews和drawRect

layoutSubviews和drawRectLayoutSubviews    子类可以重写此方法,因为需要更精确执行他们子视图的布局。只有当autoresizing和基于约束的行为的子视图不提供你想要的行为,应重写此方法。该方法不应直接调用。如果你想要强制布局更新,下一次绘图更新之前 应当反向调用setNeedsLayout方法,如果您想要立即更新您的视图的布局,请调用layoutIfNeeded方法。

大家好,又见面了,我是你们的朋友全栈君。

LayoutSubviews   

    子类可以重写此方法,因为需要更精确执行他们子视图的布局。只有当 autoresizing 和基于约束的行为的子视图不提供你想要的行为,应重写此方法。

    该方法不应直接调用。如果你想要强制布局更新,下一次绘图更新之前 应当反向调用 setNeedsLayout 方法,如果您想要立即更新您的视图的布局,请调用 layoutIfNeeded 方法。

1直接调用setLayoutSubviews。

addSubview的时候。

3当view的frame发生改变的时候。 

4滑动UIScrollView的时候。 

5旋转Screen会触发父UIView上的layoutSubviews事件。 

6改变一个UIView大小的时候也会触发父UIView上的layoutSubviews事件。

7.removeFromSuperview

PS: init初始化不会触发layoutSubviews


drawRect

1、如果在UIView初始化时没有设置rect大小,将直接导致drawRect不被自动调用。
2、该方法在调用sizeToFit后被调用,。
3、通过设置contentMode属性值为UIViewContentModeRedraw。那么将在每次设置或更改frame的时候自动调用drawRect:。
4、直接调用setNeedsDisplay,或者setNeedsDisplayInRect


PS: 重绘操作在drawRect方法中完成,不建议直接调用drawRect方法,当然调用此方法,结果没有任何效果的。我们调用UIView类中的setNeedsDisplay方法,则程序会自动调用drawRect方法进行重绘。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159947.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 对全连接层(fully connected layer)的通俗理解

    对全连接层(fully connected layer)的通俗理解我的机器学习教程「美团」算法工程师带你入门机器学习已经开始更新了,欢迎大家订阅~任何关于算法、编程、AI行业知识或博客内容的问题,可以随时扫码关注公众号「图灵的猫」,加入”学习小组“,沙雕博主在线答疑~此外,公众号内还有更多AI、算法、编程和大数据知识分享,以及免费的SSR节点和学习资料。其他平台(知乎/B站)也是同名「图灵的猫」,不要迷路哦~定义…

    2022年6月16日
    37
  • Conda源_conda配置清华源

    Conda源_conda配置清华源conda查看源的信息:condaconfig–show-sources查看源路径:condaconfig–setshow_channel_urls_yesconda添加源:condaconfig–addchannelsXXXXXXXXXXXXXX例如:(condaconfig–addchannelshttps://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/condaconfig–addcha

    2022年10月1日
    4
  • there is no vbios support_iscsi发起程序提示连接失败

    there is no vbios support_iscsi发起程序提示连接失败在探测iscsi的时候出现如下错误:[root@Rac-two~]#iscsiadm-mdiscovery-tsendtargets-p192.168.2.11:3260[ OK ]iscsid:[ OK ]iscsiadm:Noportalsfound[root@Rac-two~]#解决办法:[root@openfiler1~]#m

    2022年8月22日
    5
  • 深入解析最短路径算法

    深入解析最短路径算法转载自:http://blog.csdn.net/fengchaokobe/article/details/7478774  第一节问题的提出及解决方法      所谓最短路径问题,可以说有两种情况来描述。      描述一:在图论中,指的是寻找图中两个节点之间的最短距离。如下图      描述二:在现实生活中,指的是找到从一个地方到另一个地方的最近距离。如下图

    2022年6月3日
    31
  • js 对象转数组 的方法「建议收藏」

    js 对象转数组 的方法「建议收藏」直接上代码:1、ES6以上写法:constobjToArr=(model)=>Object.keys(model).map(key=>({key:model[key]}));2、ES5写法:写法一:functionobjToArr(model){returnObject.keys(model).map(key=>({key:model[key]}));}写法二:(该方法相对初级,简单易理解)…

    2025年11月8日
    5
  • 面试官:听说你sql写的挺溜的,你说一说查询sql的执行过程

    面试官:听说你sql写的挺溜的,你说一说查询sql的执行过程

    2022年2月14日
    88

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号