Luk*_*e97 8 xcode objective-c uiwindow ios appdelegate
我正在使用一个大约有 7/8 年历史的旧 Xcode 项目,我已将其迁移到 Objective-C 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;
}
Run Code Online (Sandbox Code Playgroud)
这出于某种原因给了我这个:
这是当我在 iPhone X、iPhone XR 或 iPhone XS Max 上运行时的结果,看起来屏幕的顶部和底部边缘(安全区域)没有被拾取。当我调试视图层次结构时,它们也没有被选中,它只显示红色空间?当我将此代码放入新项目时,它工作正常并填满所有空间。我想知道因为这是一个旧项目,所以可能有一个构建设置限制了UIWindow
扩展以允许支持新设备?
另外作为旁注,我确保该UIWindow
对象没有在其他地方被操纵。
小智 14
尝试将“启动屏幕界面文件基本名称”( UILaunchStoryboardName
) 添加到您的 Info.plist
似乎这个键的存在告诉系统你原生支持新的设备类型和大小类,所以你的窗口可以填充所有可用区域。
归档时间: |
|
查看次数: |
630 次 |
最近记录: |