以编程方式创建 UINavigationController

发布于 2024-12-01 19:26:26 字数 503 浏览 0 评论 0原文

最初,我使用 IB 将导航控制器拖到我的选项卡栏上,然后设置根控制器。但是,我正在尝试创建一个没有 IB 的导航控制器。

我所做的是创建一个将在我的选项卡栏中使用的 navcontroller 子类。导航栏确实出现了,所以我知道它正在工作。

现在,我需要将视图控制器推入层次结构中。在导航控制器的 viewDidLoad: 中,

- (void)viewDidLoad {

    InfoViewController *initialController = [[InfoViewController alloc] init];
    [self.navigationController pushViewController:initialController animated:YES];

    [initialController release];
    [super viewDidLoad];
}

我没有收到任何错误,但导航控制器中没有显示任何内容。有人知道为什么吗?

Initially I used the IB to drag a navcontroller onto my tabbar and then setting the root controller. However, I'm trying to create a nav controller without IB.

What I've done is created a navcontroller subclass that will be used in my tabbar. The nav bar does show up so I know that is working.

Now, I need to push a viewcontroller into the hierarchy. In the nav controller's viewDidLoad:

- (void)viewDidLoad {

    InfoViewController *initialController = [[InfoViewController alloc] init];
    [self.navigationController pushViewController:initialController animated:YES];

    [initialController release];
    [super viewDidLoad];
}

I get no errors, but nothing shows up in the navigation controller. Anyone know why?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

半枫 2024-12-08 19:26:26

InfoViewController 的 init 方法是什么样的?如果您使用 nib 来构建它,那么您需要调用 initWithNib,而不是 init。

What does your InfoViewController's init method look like? If you're using a nib to build that, then you need to call initWithNib, not init.

故笙诉离歌 2024-12-08 19:26:26

在创建导航控制器(并将它们添加到其中)时创建视图控制器,然后将视图控制器列表添加到选项卡栏。

Create the viewcontroller when/where you create the navigation controller (and add them to it) then add the list of view controllers to the tabbar.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文