2013-12-18 36 views
1

嗨,我有一个基于xib的项目,然后我添加了一个故事板“main.storyboard”。但它仍然以最初的屏幕代替故事板运行相同的xib。设置故事板作为开始文件,而不是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. 

下面的图片是确保我已经给故事板作为开始屏幕。

我的旧应用程序委托厦门国际银行文件,现在我在这里代替XIB UIViewController类,并把我的新故事板视图 - 控制类名

.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; 
} 

回答

8

您应该打开Info.plist文件并删除“Main nib文件基本名称”键(或键)。 还要确保“主要故事板文件名称库”键包含没有扩展名的故事板名称。

然后修复main.m文件中的代码。用下面的行替换UIApplicationMain电话:

UIApplicationMain(argc, argv, nil, NSStringFromClass([AePubReaderAppDelegate class])); 
+0

这是工作.... – Bangalore

0

在您的应用程序下didFinishLaunchingWithOptions:在应用程序中 插入此代码:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Your Soryboard name" bundle:nil]; 

// Instantiate the initial view controller object from the storyboard 
initialViewController = [storyboard instantiateInitialViewController]; 
+0

我已尝试它不工作 – Bangalore

+0

您可以发布错误日志? – user3115014

+0

2013-12-18 17:06:38.130 AePubReader [1973:60b] NSMainNibFile和UIMainStoryboardFile都被设置。忽略NSMainNibFile。 2013-12-18 17:06:38.139 AePubReader [1973:60b]没有应用程序委托集。必须将应用程序委托类指定为使用主要故事板文件。 – Bangalore

0

你错过了一点。请尝试:

UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"main.storyboard" bundle:nil]; 
UIViewController *initViewController = [storyBoard instantiateInitialViewController]; 
[self.window setRootViewController:initViewController]; 
+0

ipad上仍然有同样的黑屏和日志中的同一条消息 – Bangalore

+0

对不起。应该是:storyboardWithName:@“main”(或任何你的故事板被称为 –