关于 iPad 转屏的问题
程序员文章站
2022-04-27 08:08:07
...
关于 iOS 转屏的问题
之前做过 iPad 项目的开发,在项目使用到转屏的情况很多,使用的主要方法如下:
- (void)viewDidLoad {
[super viewDidLoad];
self.isPortrait = UIInterfaceOrientationIsPortrait(self.interfaceOrientation);
}
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
[super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration];
self.isPortrait = UIInterfaceOrientationIsPortrait(toInterfaceOrientation);
[self relayoutWhenRotare];
}
当然, 你也可以使用通知
//旋转屏幕通知
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(onDeviceOrientationChange)
name:UIDeviceOrientationDidChangeNotification object:nil];
/**
* 旋转屏幕通知
*/
- (void)onDeviceOrientationChange{
UIDeviceOrientation orientation = [UIDevice currentDevice].orientation;
UIInterfaceOrientation interfaceOrientation = (UIInterfaceOrientation)orientation;
switch (interfaceOrientation) {
case UIInterfaceOrientationPortraitUpsideDown:{
NSLog(@"第3个旋转方向---电池栏在下");
}
break;
case UIInterfaceOrientationPortrait:{
NSLog(@"第0个旋转方向---电池栏在上");
}
break;
case UIInterfaceOrientationLandscapeLeft:{
NSLog(@"第2个旋转方向---电池栏在左");
}
break;
case UIInterfaceOrientationLandscapeRight:{
NSLog(@"第1个旋转方向---电池栏在右");
}
break;
default:
break;
}
}
不要忘记在项目中做配置如下