美文网首页
iOS 横竖屏设置以及判断

iOS 横竖屏设置以及判断

作者: 楚简约 | 来源:发表于2017-01-06 17:28 被阅读0次

iOS 横竖屏设置:

首先,工程文件 -> General -> Device Orientation
选择 Portrait(正常竖屏)、Landscape Left (左横屏)、Landscape Right(右横屏);

横竖屏设置.png

如果在创建项目时,选择了 Devices:Universal,那么打开 info.plist 文件应该可以看到:

info.plist.png

这里是配置横竖屏信息的地方,如果有不合适的地方可以进行调整。

iOS 横竖屏判断:

方法一
[[UIScreenmainScreen] applicationFrame].size.height
[[UIScreenmainScreen] applicationFrame].size.width
可以用来获取当前屏幕的尺寸,高和宽。由于系统的状态条占高20且总是在屏幕上方,它使得上面两个值在横竖屏的时候有变化,因此可用来判断当前是横屏还是竖屏。
简单的说竖屏时,height为1004,width为768。
横屏时,height为1024,width为748。

当然 ,前提是你没有把系统的状态栏去掉.它可以用在任何方法内作为判断条件.
应用示例如下

if (loadingview ==nil) {
loadingview = [[UIViewalloc] initWithFrame:CGRectMake(284, 402, 200, 200)];
if ([[UIScreenmainScreen] applicationFrame].size.height==1024) { 
loadingview.frame=CGRectMake(412, 264, 200, 200);//此时为横屏
}
[loadingviewsetBackgroundColor:[UIColorclearColor]];
//创建loadingview的时候根据当前横竖屏设定位置。

方法二

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval)duration {


switch (interfaceOrientation) {
        caseUIInterfaceOrientationPortrait:
//home健在下
loadingview.frame=CGRectMake(284, 402, 200, 200);
[self.viewaddSubview:loadingview];
break;
        caseUIInterfaceOrientationPortraitUpsideDown:
//home健在上
loadingview.frame=CGRectMake(284, 402, 200, 200);
[self.viewaddSubview:loadingview];
break;
        caseUIInterfaceOrientationLandscapeLeft:
//home健在左

loadingview.frame=CGRectMake(412, 264, 200, 200);
[self.viewaddSubview:loadingview];
break;
        caseUIInterfaceOrientationLandscapeRight:
//home健在右

loadingview.frame=CGRectMake(412, 264, 200, 200);
[self.viewaddSubview:loadingview];
break;
        default:
            break;
}
}

这些都可以知道当前的屏幕状态的

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration

相关文章

网友评论

      本文标题:iOS 横竖屏设置以及判断

      本文链接:https://www.haomeiwen.com/subject/xzhxbttx.html