我在这个网站上发现了很多类似的问题,但它们都没有完全帮助我解决我的问题。
我的 ViewController 处于横向模式,我希望我的 UIAlertView 以相同的模式出现。我在这里找到了一些答案,但它只有在以纵向模式显示 UIAlertView 后才会旋转它。
这是我使用的代码:
- (void)didPresentAlertView:(UIAlertView *)alertView
{
// UIAlertView in landscape mode
[UIView beginAnimations:@"" context:nil];
[UIView setAnimationDuration:0.1];
alertView.transform = CGAffineTransformRotate(alertView.transform, 3.14159/2);
[UIView commitAnimations];
}
为了将 UIViewController 旋转到横向模式,我使用了以下代码:
- (BOOL)shouldAutorotate {
UIInterfaceOrientation orientation = [[UIDevice currentDevice] orientation];
if (orientation==UIInterfaceOrientationLandscapeRight) {
// do some sh!t
}
return YES;
}
-(NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskLandscapeRight;
}