我在使用 xibs 而不是故事板启动 iOS 应用程序时遇到了一些麻烦。问题是我遇到黑屏并且第一个视图控制器没有被调用(添加断点viewDidLoad
方法)。
在应用程序委托标头中,我声明了这一点:
@property (strong, nonatomic) UIWindow window;
@property (strong, nonatomic) ViewController *viewController;
并且在didFinishLaunchingWithOptions
方法我有这个实现:
self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:self.viewController];
navController.navigationBarHidden = YES;
self.window.rootViewController = navController;
[self.window makeKeyAndVisible];
查看一些论坛,我发现我应该分配窗口,所以我将其添加为函数的第一行
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
问题是,当我这样做时,应用程序从返回后崩溃didFinishLaunchingWithOptions
方法(SIGABRT 无任何痕迹)。
我也尝试过让navController
属性并实例化默认值UIViewController
类初始化相同的 xib
我究竟做错了什么?
感谢致敬
希望这对您有帮助:
删除视图控制器和故事板文件以及新的 viewController.h、viewController.h.m 、viewController.xib 文件。
#import "AppDelegate.h"
@interface AppDelegate ()
@end
@implementation AppDelegate
@synthesize viewCOntrollerobj;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.viewCOntrollerobj = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:self.viewCOntrollerobj];
//navController.navigationBarHidden = YES;
self.window.rootViewController = navController;
[self.window makeKeyAndVisible];
return YES;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)