Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 自动布局、核心图形和CALayer。获取正确的自动布局计算边界_Ios_Core Graphics_Autolayout_Calayer - Fatal编程技术网

Ios 自动布局、核心图形和CALayer。获取正确的自动布局计算边界

Ios 自动布局、核心图形和CALayer。获取正确的自动布局计算边界,ios,core-graphics,autolayout,calayer,Ios,Core Graphics,Autolayout,Calayer,尝试使用CAlayers和Autolayout“手动”绘制视图时遇到问题。 我需要知道在计算autolayout后,我将在其中附着图层的视图的大小。 最初我使用layoutSubviews函数作为设置的起点,但这不是正确的解决方案,因为 它被多次调用,如果我在这个函数中得到边界,我会得到不同的结果: LINE FRAME {{0, 0}, {600, 225}} // AUTO LAYOUT NOT YET CALCULATED LINE FRAME {{0, 0}, {32

尝试使用CAlayers和Autolayout“手动”绘制视图时遇到问题。 我需要知道在计算autolayout后,我将在其中附着图层的视图的大小。 最初我使用layoutSubviews函数作为设置的起点,但这不是正确的解决方案,因为 它被多次调用,如果我在这个函数中得到边界,我会得到不同的结果:

     LINE FRAME {{0, 0}, {600, 225}} // AUTO LAYOUT NOT YET CALCULATED
     LINE FRAME {{0, 0}, {320, 225.5}} // AUTO LAYOUT CALCULATED
我的问题是:与自动布局相关的手动绘制视图(使用核心图形或CALayer)的最佳方式是什么? 有没有办法知道Autolayout已经计算好,视图已经准备好“最终尺寸”,最终有没有办法
知道autolayout已更改,因此需要重新绘制视图吗?

是否有原因不能在drawRect中执行此操作?我假设您使用的是自定义UIView,因为您说的是layoutSubviews而不是viewDidLayoutSubviews。这也是CALayer绘图的好地方吗?我一直只在核心图形中使用drawRect。如果您认为这是一个解决方案,请在回答中填入您的意见。