我已经创建了一个ViewController(没有nib文件),那么如何在app delegate中加载这个viewController?我目前的代码是:
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
viewController = [[MyCustomViewController alloc] init...]; // I use a custom init method
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES;
如何使用presentModalViewController方法显示相同“CustomViewController”类的新视图控制器?
感谢您的帮助!
注意:顺便说一句,我确实看到这段代码确实调用了我的初始化方法,并且我的customViewController中的ViewDidLoad方法被调用,但是屏幕仍然是黑色....
答案 0 :(得分:2)
看起来您的属性设置不正确。
检查此行:
viewController = [[MyCustomViewController alloc] init...]; // I use a custom init method
self.window.rootViewController = self.viewController;
检查self.viewController是否正常,并且没有什么可以阻止你做的事情:
self.window.rootViewController = viewController;
答案 1 :(得分:1)
糟糕,我在viewDidLoad方法中错过了这段代码:
self.view.frame = CGRectMake(0, 0, 320, 480);
self.view.backgroundColor = [UIColor whiteColor];
所以一切正常,但默认情况下屏幕是黑色的,没有框架。
答案 2 :(得分:0)
我必须在我正在开发的其中一个应用程序中执行此操作。尝试对视图控制器进行类型转换
CDViewController *viewController = (CDViewController*)self.window.rootViewController;
viewController.managedObjectContext = self.managedObjectContext;
viewController.managedObjectModel = self.managedObjectModel;
// Override point for customization after application launch.
return YES;