我正在使用一个旧的Xcode项目,大约有7/8年的历史,我已经将其迁移到Xcode 2.0并支持ARC。(这是在它发布之前)在我工作之前,我已经设法清理了很多错误/问题,我在一个更现代的Xcode IDE中运行它(10.2.1).出于测试目的,我将此代码实现到AppDelegate
中:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[UIWindow alloc] initWithFrame:CGRectMake(0, 0, UIScreen.mainScreen.bounds.size.width, UIScreen.mainScreen.bounds.size.height)];
[self.window setBackgroundColor:[UIColor redColor]];
self.window.rootViewController = [UIViewController new];
[self.window makeKeyAndVisible];
return YES;
}
字符串
这让我想到了这个
x1c 0d1x的数据
这是当我在iPhone X,iPhone XR或iPhone XS Max上运行时的结果,它看起来像顶部和底部边距当我调试视图层次结构时,它们也没有被拾取,它只显示红色空间?当我把这段代码扔到一个新项目中时,它工作得很好,填满了所有的空间。UIWindow
扩展以支持新设备?
另外,作为一个旁注,我已经确保UIWindow
对象没有在其他地方被操纵。
3条答案
按热度按时间nx7onnlm1#
尝试将“启动屏幕界面文件库名称”(
UILaunchStoryboardName
)添加到您的Info.plist似乎这个键的存在告诉系统,你本机支持新的设备类型和大小类,所以你的窗口可以填充所有可用的区域。
hs1rzwqc2#
不要弄乱故事板。
将
UILaunchScreen
字典条目添加到您的. plist中。包括Assets.xcassets
中定义的背景颜色名称的UIColorName
字符串值。字符串
yrdbyhpb3#
还有一个设置专门用于自动生成一个空的启动屏幕:
INFOPLIST_KEY_UILaunchScreen_Generation
,如果你不想做任何自定义。https://developer.apple.com/documentation/xcode/build-settings-reference#Launch-Screen-Generation