iOS - drawrect 和 loyoutSubViews & archorPoint

Posted qzcodediary

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS - drawrect 和 loyoutSubViews & archorPoint相关的知识,希望对你有一定的参考价值。

一、elayoutSubViews 在以下情况下会被调用:

1、init初始化不对调用layoutSubviews 

2、addSubview会调用

3、设置view 的frame 时会调用

4、滚动UIScrollView时会调用

5、旋转屏幕会调用父视图的layoutSubViews

6、直接手动调用layoutSubViews

layoutSubViews 在数据发生变化时调用,可以让子视图重新绘制,相当于刷新界面。

 

二、drawrect 在以下情况下会被调用:

1、如果在UIView初始化没有设置rect大小时,不会自动调用drawrect方法。drawrect是在controller->loadview 和 controller -> viewdidload 之后被调用

2、在sizeToFit 之后调用

3、通过设置contentmode 的 UIViewContentModeRedraw。将在每次设置或者更改frame的时候自动调用

4、手动调用setNeedsDisplay 方法

 

三、CGPoint position :

用来设置CALayer在父层中的位置

以父层的左上角为原点(0, 0)

CGPoint anchorPoint:

称为“定位点”、“锚点”

决定着CALayer身上的哪个点会在position属性所指的位置

以自己的左上角为原点(0, 0)

它的x、y取值范围都是0~1,默认值为(0.5, 0.5)

默认的anchorPoint(锚点)位置是(0.5,0.5) 即中心点。

以上是关于iOS - drawrect 和 loyoutSubViews & archorPoint的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 和 iPhone 上,如何绘制位图并在 drawRect 中显示?

iOS的layoutSubviews和drawRect方法何时调用

iOS - drawrect 和 loyoutSubViews & archorPoint

iOS - drawRect:调用了两次

通过使用 UIGraphicsBeginImageContext 和 drawRect 在 ios 中拼贴 imageView 来计算图像大小和位置

iOS重绘机制drawRect