form:http://wenxin2009.iteye.com/blog/1681584
ios5旋转屏幕:(以下为关健代码,附件中有实例)
竖屏和横屏是两个不同的ViewController,在实现时需建两个viewController
//屏幕旋转
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation{
if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft || toInterfaceOrientation == UIInterfaceOrientationLandscapeRight) {
//场景跳转方式一
[self performSegueWithIdentifier:@"LandscapeID" sender:self];
//场景跳转方式二(编程方式实现)
// UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
// LandscapeViewController *land = [mainStoryboard instantiateViewControllerWithIdentifier:@"myLandscape"];
// land.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
// [self presentViewController:land animated:YES completion:nil];
return YES;
}else if(toInterfaceOrientation == UIInterfaceOrientationPortrait) {
return YES;
}else {
return NO;
}
}
//相关旋转方法可以测试下
- //旋转方向发生改变时
- -(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
- }
- //视图旋转动画前一半发生之前自动调用
- -(void)willAnimateFirstHalfOfRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
- }
- //视图旋转动画后一半发生之前自动调用
- -(void)willAnimateSecondHalfOfRotationFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation duration:(NSTimeInterval)duration {
- }
- //视图旋转之前自动调用
- -(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
- }
- //视图旋转完成之后自动调用
- -(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
- }
- //视图旋转动画前一半发生之后自动调用
- -(void)didAnimateFirstHalfOfRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
- }
#ifdef __IPHONE_6_0
- (BOOL)shouldAutorotate{
return NO;
}
- (NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskPortrait;
}
#endif