·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> app软件开发 >> IOS开发 >> iOS开发-在哪里更新customview的subviews的位置信息?(drawRect:还是layoutSubviews?)

iOS开发-在哪里更新customview的subviews的位置信息?(drawRect:还是layoutSubviews?)

作者:佚名      IOS开发编辑:admin      更新时间:2022-07-23

对于custom,可以通过addSubview: 增加内容,也可以通过Core Graphic绘制内容。

对于后者,在drawRect: 进行,位置信息随之确定

对于前者,一般在view初始化时进行(也可以动态地在其它地方进行)。设置subview的位置信息时,需要了解下面的区别:

- 在 layoutSubviews中,此时custom view 的bounds虽然已经确定,但是对于有constraint的subview(比如在nib文件中添加的约束),其位置信息还没有按照constraint进行更新。

- 在drawRect:中,subview的位置已经根据constraint进行了更新。

也就是说custom调用layoutSubviews, 然后更新subview的位置信息,然后drawRect: