我创建了一个空项目,并且我已经包含了xib文件,但是当我运行应用程序时,不会调用viewDidLoad。
//
// ViewController.m
// InstantForum
//
// Created by trikam patel on 28/08/2014.
// Copyright (c) 2014 trikam patel. All rights reserved.
//
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
CGRect screenRect = [[UIScreen mainScreen] bounds];
UIView *loginSignupView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, screenRect.size.width, 68)];
loginSignupView.backgroundColor = [UIColor colorWithRed:56.0f/255 green:56.0f/255 blue:57.0f/255 alpha:1.0f];
[self.view addSubview:loginSignupView];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
我在控制台中输出了这个输出:
2014-08-28 23:00:57.709 InstantForum[19545:60b] Application windows are expected to have a root view controller at the end of application launch
答案 0 :(得分:1)
您的应用程序未正确初始化。 "窗口"是空的,没有附加到任何视图控制器。
在appdelegate中,检查是否为窗口设置了rootViewController。它应该像... ...
ViewController *vc=[[ViewController alloc] @"ViewController" bundle:nil];
self.window.rootViewController=vc
self.window.makeKeyAndVisible=YES;
以上技术上告诉appdelegate将viewcontroller的视图附加到应用程序的窗口。如果ViewController被正确创建(它的视图附加到控制器),它应该显示。
答案 1 :(得分:0)
您的ViewController
和Window
在哪里定义?如果在XIB文件中,请检查它们是否已连接到Connections Inspector中。如果没有连接,请从窗口按Ctrl-Drag(在文档大纲中)拖动到ViewController,并建立与RootViewController
的连接。
如果在AppDelegate中定义了ViewController
和窗口,则可以使用
self.window.rootViewController = viewcontroller;