如何从纵向模式自动旋转到横向模式?

时间:2009-09-17 09:06:47

标签: iphone cocoa-touch

如何在iPhone上自动将图像从纵向模式转换为横向模式?

3 个答案:

答案 0 :(得分:4)

您必须在控制器中实现shouldAutorotateToInterfaceOrientation方法,例如

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return YES;
}

答案 1 :(得分:3)

对视图应用适当的变换并调整其边框

在我的应用中,我这样做了(很可能不是最好的):

[UIView beginAnimations:@"View Flip" context:nil];
[UIView setAnimationDuration: 0.5f];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];

self.view.transform = CGAffineTransformIdentity;
self.view.transform = CGAffineTransformMakeRotation(-M_PI/2);
self.view.bounds = CGRectMake(0.0f, 0.0f, 480.0f, 320.0f);

self.view.center = CGPointMake(160.0f, 240.0f);
[UIView commitAnimations];

答案 2 :(得分:2)

如果要显示新的不同视图,最简单,最干净的解决方案是推送仅支持横向模式的新视图控制器(presentModalViewController)(在shouldAutorotateToInterfaceOrientation中)。