iPhone导航控制器不显示

Posted

技术标签:

【中文标题】iPhone导航控制器不显示【英文标题】:iPhone navigationController is not displayed 【发布时间】:2011-04-15 15:16:41 【问题描述】:

我的导航视图有一个非常奇怪的行为。我想要的是,从我的主视图中,用户可以触摸一个按钮,这会将他引导到具有应用程序设置的视图。

这里是代码,负责导航:

AppDelegate.h

@interface AppDelegate : NSObject UIWindow *窗口; 视图控制器 *视图控制器; // 我的主视图控制器 UINavigationController *navigationController; @property (nonatomic, 保留) IBOutlet UIWindow *window; @property (nonatomic, 保留) IBOutlet ViewController *viewController; @property (nonatomic, 保留) IBOutlet UINavigationController *navigationController;

AppDelegate.m

@synthesize 视图控制器; @synthesize 窗口; @synthesize 导航控制器; - (BOOL)应用程序:(UIApplication *)应用程序 didFinishLaunchingWithOptions:(NSDictionary *)launchOptions [窗口添加子视图:viewController.view]; [窗口 addSubview:navigationController.view]; [窗口 makeKeyAndVisible]; 返回是;

viewController.h

#进口 #import "optionsViewController.h" // 'settings' 视图控制器 @class AppDelegate; @接口视图控制器:UIViewController AppDelegate *appDelegate;

viewController.m

- (IBAction)showOptionsViewController:(UIBarButtonItem *)sender // optionsController.theSubjectID = self.theSubjectID; // [self presentModalViewController:self.optionsController animated:YES]; optionsViewController *optionsController= [[optionsViewController alloc] initWithNibName:@"optionsViewController" bundle:nil]; optionsController.theSubjectID = self.theSubjectID; [self.navigationController pushViewController:optionsController Animation:YES]; [选项控制器发布];

我的 optionsController 是一个“普通”的 UIViewController。如您所见,我是否将 optionsController 的负载从模式更改为导航。会不会是我遗漏了什么?

提前感谢您的任何提示。

干杯,勒内

【问题讨论】:

【参考方案1】:

如果不需要,您是否在 Interface Builder 中连接了它,然后再将其添加为子视图?

【讨论】:

为了澄清我在说什么,如果你在 Interface Builder 中连接一个“UINavigationController”,你不需要分配/初始化。但是,如果您是手动编码,则需要在 [window addSubview:] 之前分配/初始化它 我想你的意思是代码
 [[optionsViewController alloc] initWithNibName:@"optionsViewController" bundle:nil];
?是的,我 alloc / init 甚至给它命名。
不,它仍然没有出现。我在 optionsViewController 中设置了断点,它甚至没有到达 DidLoad 方法。正如你所说,我猜某处仍然缺少链接....

以上是关于iPhone导航控制器不显示的主要内容,如果未能解决你的问题,请参考以下文章

在 iPhone X 上,分别控制显示/隐藏导航栏和状态栏

导航栏隐藏在 iPhone sdk 的弹出视图控制器上

iPhone横向导航返回动作显示垂直视图过渡?

iPhone - 在导航控制器中替换 rootview

iphone导航控制器和表格视图

单击导航控制器的操作 uiitembar 后显示一帧按钮