我正在运行一个没有任何问题的项目,但第二个项目不会出现在iOS模拟器中。它显示的内容取决于didFinishLaunchingWithOptions
中AppDelegate.m
方法中的内容。
给出黑屏:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
return YES;
}
给出白屏:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
return YES;
}
有关修复的想法吗?
答案 0 :(得分:7)
如果使用.xib:
在第一种情况下,您看到黑屏,因为您甚至没有创建窗口,在第二种情况下 - 您创建了白色窗口,但没有根控制器。
您需要指定窗口的rootViewController:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
// Your don't need specify window color if you add root controller, you will not see window because root controller will be above window.
//self.window.backgroundColor = [UIColor whiteColor];
self.window.rootViewController = [YourViewController new];
[self.window makeKeyAndVisible];
return YES;
}
如果您使用故事板,请留下第一个示例:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
return YES;
}
并确保在proj文件中指定了主故事板:
还要确保将故事板中的一个视图控制器设置为初始值:
答案 1 :(得分:1)
我在El Capitan上使用XCode V7.3.1,即使是最简单的单视图应用程序,我也可以使用白色屏幕模拟器。我认为控件是在屏幕外显示但不知道为什么。
我通过将模拟器窗口缩小到小于100%来修复它。在模拟器菜单栏上,转到Window-> Scale并选择50或75%,对我来说,控件显示正确布局。
答案 2 :(得分:0)
如果您选择“使用故事板”,那么
是正常的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
return YES;
}
此时,当你运行它时,你应该看到ViewController的默认视图控制器的视图(如果你没有弄乱故事板文件)。
尝试单击您的故事板,选择控制器,单击其下方黑色条上的第一个图标,然后选择身份检查器(右侧面板上的第3个按钮),检查自定义类是否为Xcode为您创建的现有ViewController,确保它是初始控制器