旋转带有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时不会旋转。旋转是通过另一种方法完成的,我希望保留它,因为我也在那里旋转了其他视图。     
已邀请:
        每次使用
CGAffineTransformMake*
都将重置变换。如果执行此操作,则将获得旋转变换或缩放变换。我假设缩放后的一个在旋转后的一个之后,因此您无法看到旋转的视图。如果需要同时保留两种效果,则必须使用
CGAffineTransformRotate
。因此,缩放和旋转将是
helpView.transform = CGAffineTransformMakeScale(kHelpSmall, kHelpSmall);
helpView.transform = CGAffineTransformRotate(helpView.transform, degreesToRadians(rotationAngle));
顺序可能会有所不同。     

要回复问题请先登录注册