iphone autorotation动画

时间:2010-06-01 01:47:10

标签: iphone ipad animation rotation autorotate

是否可以关闭自动旋转的动画?我想让它旋转,但我不想要动画发生(就像一个即时开关)。

3 个答案:

答案 0 :(得分:7)

如果您确实需要,请使用setAnimationsEnabled的{​​{1}}:

UIView

这对我有用。当然,除非你有充分的理由这样做,否则不建议这样做。

答案 1 :(得分:4)

只需添加以下代码即可覆盖标准旋转动画:

- (void)viewDidLoad
{
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didRotate:)   name:UIDeviceOrientationDidChangeNotification object:nil];
}

- (void)didRotate:(NSNotification *)notification {
    orientation = [[UIDevice currentDevice] orientation];
    if(orientation == UIDeviceOrientationUnknown || orientation == UIDeviceOrientationFaceDown || orientation == UIDeviceOrientationFaceUp){
        orientation = UIDeviceOrientationPortrait;
    }
    [[UIApplication sharedApplication] setStatusBarOrientation:orientation animated:NO];
    [self positionScreenElements];
}

答案 2 :(得分:0)

@Nils Munch遗憾的是这不能正常工作,setStatusBarOrientation期望UIInterfaceOrientation不是UIDeviceOrientation,而且施法是不好的做法。如果我错了,请纠正我