为了账号安全,请及时绑定邮箱和手机立即绑定

在iOS 8中,[UIScreen mainScreen].边界.大小是否变得与方向有关?

在iOS 8中,[UIScreen mainScreen].边界.大小是否变得与方向有关?

LEATH 2019-07-11 15:18:42
在iOS 8中,[UIScreen mainScreen].边界.大小是否变得与方向有关?我在IOS 7和IOS 8中运行了以下代码:UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation]; BOOL landscape = (orientation == UIInterfaceOrientationLandscapeLeft || orientation == UIInterfaceOrientationLandscapeRight); NSLog(@"Currently landscape: %@, width: %.2f, height: %.2f",        (landscape ? @"Yes" : @"No"),        [[UIScreen mainScreen] bounds].size.width,        [[UIScreen mainScreen] bounds].size.height);以下是IOS 8的结果:Currently landscape: No, width: 320.00, height: 568.00Currently landscape: Yes, width: 568.00, height: 320.00与IOS 7中的结果相比:Currently landscape: No, width: 320.00, height: 568.00Currently landscape: Yes, width: 320.00, height: 568.00是否有指定此更改的文档?或者是iOS 8 API中的临时错误?
查看完整描述

3 回答

?
当年话下

TA贡献1890条经验 获得超9个赞

是的,它依赖于iOS 8的方向,而不是bug。您可以查看WWDC 2014的会话214以获得更多信息:“查看IOS 8中控制器的进展”

摘自讲稿:

UIScreen现在是面向接口的:

  • [UIScreen界]现在面向界面
  • [UIScreen应用程序框架]现在面向接口
  • 状态栏帧通知面向接口。
  • 键盘帧通知是面向接口的。


查看完整回答
反对 回复 2019-07-11
?
守候你守候我

TA贡献1802条经验 获得超10个赞

是的,在iOS 8中是定向依赖的。

我为那些需要支持旧版本操作系统的应用程序编写了一个Util方法来解决这个问题。

+ (CGSize)screenSize {
    CGSize screenSize = [UIScreen mainScreen].bounds.size;
    if ((NSFoundationVersionNumber <= NSFoundationVersionNumber_iOS_7_1) && UIInterfaceOrientationIsLandscape
    ([UIApplication sharedApplication].statusBarOrientation)) {
        return CGSizeMake(screenSize.height, screenSize.width);
    }
    return screenSize;}


查看完整回答
反对 回复 2019-07-11
?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

是的,实际上,在iOS 8中,屏幕大小取决于方向。然而,有时候,需要将大小固定在纵向方向上。我就是这样做的。

+ (CGRect)screenBoundsFixedToPortraitOrientation {
    UIScreen *screen = [UIScreen mainScreen];

    if ([screen respondsToSelector:@selector(fixedCoordinateSpace)]) {
                    return [screen.coordinateSpace convertRect:screen.bounds toCoordinateSpace:screen.fixedCoordinateSpace];
    } 
    return screen.bounds;}


查看完整回答
反对 回复 2019-07-11
  • 3 回答
  • 0 关注
  • 1014 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信