导航控制器显示黑屏

我正在学习iOS开发,并遇到了导航控制器的一些问题。

我创build了一个SingleView应用程序,然后使用“embedded导航控制器”来获得导航控件。

我遇到的问题是,应用程序成功build立后,只有导航栏是可见的,其他UI组件只是纯黑色。 我已经试过真正的设备,清理/重build,删除应用程序和重新构build,都得到了相同的结果。

以下是截图:

在这里输入图像说明

故事板的屏幕截图:

在这里输入图像说明

当导航控制器被点击时:

在这里输入图像说明

我已经尝试更新约束和框架,所以没有琥珀色三angular警告。

“初始视图控制器”已经打勾。

码:

AppDelegate.m

#import "AppDelegate.h" @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. return YES; } - (void)applicationWillResignActive:(UIApplication *)application { // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. } - (void)applicationDidEnterBackground:(UIApplication *)application { // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. } - (void)applicationWillEnterForeground:(UIApplication *)application { // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. } - (void)applicationDidBecomeActive:(UIApplication *)application { // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. } - (void)applicationWillTerminate:(UIApplication *)application { // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. } @end 

AppDelegate.h

 #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @property (strong, nonatomic) UIWindow *window; @end 

===更新====

这是我的错误,使用UINavigationController而不是UIViewController

有关详细信息,请参阅接受的答案。

我看着你的代码。 在ViewController.h中你有:

 @interface ViewController : UINavigationController <UITableViewDelegate, UITableViewDataSource> 

把它改成

 @interface ViewController : UIViewController 

它会出现!

导航控制器正试图显示另一个空的导航控制器! 🙂