旋转带有alpha = 0的UIView
|
我有一个用以下代码旋转的UIView:
helpView.transform = CGAffineTransformMakeRotation(degreesToRadians( rotationAngle ));
这里的degreeToRadians只是一个将度数转换为弧度的宏。
只要视图可见即可,例如,alpha =1。当我将其隐藏(alpha = 0,我为其设置动画)时,它不再旋转。我猜想这是设备“节省”绘图时间的明智方法,但是即使alpha为0,我有什么办法可以强迫它进行绘图呢?否则,在再次显示之前,必须旋转它。
有什么好主意吗?
谢谢
编辑:这是我用来显示/隐藏视图的代码。
-(void)showHelp
{
bool helpAlpha = !helpView.alpha;
CGFloat newScale;
if (helpView.alpha) {
newScale = kHelpSmall;
helpView.transform = CGAffineTransformMakeScale(kHelpBig, kHelpBig);
} else {
newScale = kHelpBig;
helpView.transform = CGAffineTransformMakeScale(kHelpSmall, kHelpSmall);
}
[UIView animateWithDuration:(kAnimationTimeShort / 2) animations:^(void) {
[helpView setAlpha:helpAlpha];
helpView.transform = CGAffineTransformMakeScale(newScale, newScale);
}];
}
如您所见,我也对其进行缩放以获得更好的效果。当可见时工作完美,当alpha = 0时不会旋转。旋转是通过另一种方法完成的,我希望保留它,因为我也在那里旋转了其他视图。
没有找到相关结果
已邀请:
1 个回复
坊岔埠绵
都将重置变换。如果执行此操作,则将获得旋转变换或缩放变换。我假设缩放后的一个在旋转后的一个之后,因此您无法看到旋转的视图。如果需要同时保留两种效果,则必须使用
。因此,缩放和旋转将是
顺序可能会有所不同。