方向旋转动画完成后如何调用drawRect
How to call drawRect after an orientation rotation animation is completed
我正在尝试使用 drawRect 在另一个视图(下面代码中的 self)中包含的 collectionView 下面的 space 中使用两个视图的框架来定义矩形来绘制一个矩形。
在设备方向改变之前,此代码工作正常。在动画旋转开始之前,我尝试过的所有方法都会调用 drawRect。这意味着 collectionView.frame 和 self.frame 尚未被 autoLayout 调整,结果矩形是错误的。
CGRect frame = self.collectionViwOutlet.frame;
CGFloat x = frame.origin.x;
CGFloat y = frame.origin.y + frame.size.height + 8;
CGFloat w = frame.size.width;
CGFloat h = self.frame.origin.y + self.frame.size.height - y - 8;
CGRect drawableRect = CGRectMake(x, y, w, h);
如有任何建议,我们将不胜感激。
在您的自定义 UIView 覆盖那里 layoutSubviews
,只有在需要时以及所有变量(方向、大小等)出现时,系统才会为您调用
PS.: 考虑一下:
我正在尝试使用 drawRect 在另一个视图(下面代码中的 self)中包含的 collectionView 下面的 space 中使用两个视图的框架来定义矩形来绘制一个矩形。
在设备方向改变之前,此代码工作正常。在动画旋转开始之前,我尝试过的所有方法都会调用 drawRect。这意味着 collectionView.frame 和 self.frame 尚未被 autoLayout 调整,结果矩形是错误的。
CGRect frame = self.collectionViwOutlet.frame;
CGFloat x = frame.origin.x;
CGFloat y = frame.origin.y + frame.size.height + 8;
CGFloat w = frame.size.width;
CGFloat h = self.frame.origin.y + self.frame.size.height - y - 8;
CGRect drawableRect = CGRectMake(x, y, w, h);
如有任何建议,我们将不胜感激。
在您的自定义 UIView 覆盖那里 layoutSubviews
,只有在需要时以及所有变量(方向、大小等)出现时,系统才会为您调用
PS.: 考虑一下: