解决方案
确保在 plist 中将故事板名称列为主故事板文件名。
我有一个Storyboard
连接UINavigationViewController
到一个NavigationViewController
类的 a ,它被设置为UIWindow rootViewController
. 当应用程序运行时(在模拟器 (5.1) 中),我得到一个空白的黑屏,顶部带有蓝色导航栏。
第一个问题是在情节提要中,我将导航栏设置为黑色。我还将状态栏设置为半透明黑色。应用程序运行时,这两种样式都不会受到尊重。
第二个问题是导航控制器的视图是空的,即使在故事板中它与UITableViewController
.
我该如何解决这两个问题。我刚开始再次使用 Xcode,之前一直在使用 4.0,所以故事板让我失望了……
更新
这是所要求的代码。显然我不能发布故事板(可以吗?)。
应用委托:
#import "AppDelegate.h"
@implementation AppDelegate
@synthesize window = _window;
@synthesize navigationController;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
navigationController = [[NavigationViewController alloc] init];
self.window.rootViewController = navigationController;
[self.window makeKeyAndVisible];
return YES;
}
- (void)applicationWillResignActive:(UIApplication *)application {
}
- (void)applicationDidEnterBackground:(UIApplication *)application {
}
- (void)applicationWillEnterForeground:(UIApplication *)application {
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
}
- (void)applicationWillTerminate:(UIApplication *)application {
}
@end
导航视图控制器:
#import "NavigationViewController.h"
@interface NavigationViewController ()
@end
@implementation NavigationViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
}
return self;
}
- (void)viewDidLoad {
[super viewDidLoad];
}
- (void)viewDidUnload {
[super viewDidUnload];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
@end