Ios iPhone应用程序的布局采用始于多年前
我在2011年左右创建了一个名为BzCalendar的应用程序。 所以有了Objective-C,没有故事板。 我正在用故事板转换成Swift,还没有完成 我的应用程序是一个日历应用程序,具有每日、每周和每月视图。 应用程序的顶级配置。 当我运行iPhoneX模拟器时,顶部和底部的布局并不是苹果想要的。 起初我认为这与应用程序以编程方式设置视图的框架有关。 然而,这个问题似乎是基于我的应用程序总是调整宽度为“320”的视图内容这一事实 我想当iPhone5左右出现时,iOS会将视图转换为320宽度,以拯救不支持更新屏幕尺寸的应用程序 我用代码检查尺寸:Ios iPhone应用程序的布局采用始于多年前,ios,iphone-x,Ios,Iphone X,我在2011年左右创建了一个名为BzCalendar的应用程序。 所以有了Objective-C,没有故事板。 我正在用故事板转换成Swift,还没有完成 我的应用程序是一个日历应用程序,具有每日、每周和每月视图。 应用程序的顶级配置。 当我运行iPhoneX模拟器时,顶部和底部的布局并不是苹果想要的。 起初我认为这与应用程序以编程方式设置视图的框架有关。 然而,这个问题似乎是基于我的应用程序总是调整宽度为“320”的视图内容这一事实 我想当iPhone5左右出现时,iOS会将视图转换为320宽
override func viewDidLayoutSubviews() {
print("frame: ", self.view.frame)
print("safeAreaInsets", self.view.safeAreaInsets)
}
结果是:
帧:(0.0,0.0,320.0,485.0)
安全区域插图导向插图(顶部:44.0,左侧:0.0,底部:0.0,右侧:0.0)
320!
现在尝试使用iPhone8运行
帧:(0.0、0.0、320.0、519.0)
安全区域插图导向插图(顶部:20.0,左侧:0.0,底部:0.0,右侧:0.0)
然后我在XCode9上创建了一个新项目,并制作了一个简单的应用程序:
超宽带控制器
-UIViewController
使用上述相同的测试代码:
结果是:
框架:(0.0,0.0375.0812.0)
安全区域插图导向插图(顶部:44.0,左侧:0.0,底部:83.0,右侧:0.0)
有没有人曾经经历过类似的问题,并且知道如何处理?
我希望有两个步骤:
1) 更改xcode配置?使用实际屏幕大小。
2) 为iPhoneX做额外的工作
请帮帮我!
我正在用故事板转换成Swift,还没有完成
然而
要支持iPhoneX,您不需要将应用程序完全移动到故事板
1) 更改xcode配置?使用实际屏幕大小
2) 为iPhoneX做额外的工作
支持iPhoneX所需要做的就是使用故事板来启动屏幕,而不是静态图像
您可以在此处阅读有关如何执行此操作的更多信息:您需要添加大小合适的启动映像,或者(更好)切换到启动情节提要。见@Paulw11谢谢!那很容易!它使iPhone8的画作质量也更好!