嗨,我有一个基于 xib 的项目,然后我添加了一个 Storyboard“main.storyboard”。但它仍然运行与初始屏幕而不是 Storyboard相同的 xib。
2013-12-18 16:44:14.376 AePubReader[1882:60b] NSMainNibFile and UIMainStoryboardFile are both set. NSMainNibFile ignored.
2013-12-18 16:44:14.396 AePubReader[1882:60b] There is no app delegate set. An app delegate class must be specified to use a main storyboard file.
以下图像确保我已将 Storyboard 作为起始屏幕。
我的旧应用程序代表 xib 文件,现在我从这里替换 xib uiviewcontroller 类并放置我的新 Storyboard View Controller 类名
.h 文件
#import <UIKit/UIKit.h>
@class viewViewController;
@interface AePubReaderAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
viewViewController *detailViewController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet viewViewController *detailViewController;
@end
.m 文件
#import "AePubReaderAppDelegate.h"
#import "ViewController.h"
@implementation AePubReaderAppDelegate
@synthesize window, detailViewController;
#pragma mark -
#pragma mark Application lifecycle
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// // Override point for customization after app launch.
//
// self.window.rootViewController = self.detailViewController;
// [self.window makeKeyAndVisible];
//
// // [detailViewController loadEpub:@"ker"];
return YES;
}
最佳答案
您应该打开 Info.plist 文件并删除“Main nib file base name”键(或键)。
还要确保“主 Storyboard文件名库”键包含您的 Storyboard的名称,没有扩展名。
然后修复 main.m 文件中的代码。替换 UIApplicationMain
使用以下行调用:
UIApplicationMain(argc, argv, nil, NSStringFromClass([AePubReaderAppDelegate class]));
关于ios - 将 Storyboard设置为起始文件而不是 xib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20656814/