Interface Builder:从 TableViewController 调用时无法显示 TabBarController

发布于 2024-08-02 13:01:45 字数 1442 浏览 2 评论 0原文

我的一个朋友要求提供一个应用程序框架的快速代码示例,该框架将使用 TableView 调用 TabView。我估计一个小时。

在 IB 上闲逛的时间比我愿意承认的还要多,我放弃了并实现了以下代码。

谁能告诉我如何在IB中做到这一点?我很小心(我想)建立所有正确的连接,但没有成功。我什至还有另一个(正在运行的)应用程序,我在其中经历并逐步建立了相同的连接。我收到有关“不允许更改由选项卡栏控制器管理的选项卡栏的委托...”的错误(当我将选项卡栏的委托连接到文件的所有者时,即使另一个应用程序在该设置下工作正常)

直到我编写了这段代码,我从未获得标签栏视图,只有视图 xib 附带的视图...(我通过在视图上放置标签进行测试)。

提前致谢...

UITabBarController *tabBarController = [[[UITabBarController alloc] initWithNibName:nil bundle:nil] autorelease];
    NumberOneViewController *numberOneViewController = [[[NumberOneViewController alloc] initWithNibName:@"NumberOneViewController" bundle:nil] autorelease];
    NumberTwoViewController *numberTwoViewController = [[[NumberTwoViewController alloc] initWithNibName:@"NumberTwoViewController" bundle:nil] autorelease];
    NumberThreeViewController *numberThreeViewController = [[[NumberThreeViewController alloc] initWithNibName:@"NumberThreeViewController" bundle:nil] autorelease];
    NumberFourViewController *numberFourViewController = [[[NumberFourViewController alloc] initWithNibName:@"NumberFourViewController" bundle:nil] autorelease];

    tabBarController.viewControllers = [NSArray arrayWithObjects:numberOneViewController, numberTwoViewController,
                                        numberThreeViewController, numberFourViewController, nil];

    [self.navigationController pushViewController:tabBarController animated:YES];

A buddy of mine asked for a quick sample of code for an app skeleton that would use a TableView to call a TabView. I estimated an hour.

After more hours than I want to admit messing around in IB, I gave up and implemented the following code.

Can anyone tell me how to do this in IB? I was careful (I thought) to make all the right connections, but no go. I even had another (working) app where I went through and step-by-step made the same connections. I got errors about "Changing the delegate of a tab bar managed by a tab bar controller is not allowed..." (This when I connected the TabBar's delegate to the File's owner, even though another app was working fine with that setting)

Until I wrote this code, I never got the tabbar view, only the view that came with the view xib... (I tested by putting a label on the view).

Thanks in advance...

UITabBarController *tabBarController = [[[UITabBarController alloc] initWithNibName:nil bundle:nil] autorelease];
    NumberOneViewController *numberOneViewController = [[[NumberOneViewController alloc] initWithNibName:@"NumberOneViewController" bundle:nil] autorelease];
    NumberTwoViewController *numberTwoViewController = [[[NumberTwoViewController alloc] initWithNibName:@"NumberTwoViewController" bundle:nil] autorelease];
    NumberThreeViewController *numberThreeViewController = [[[NumberThreeViewController alloc] initWithNibName:@"NumberThreeViewController" bundle:nil] autorelease];
    NumberFourViewController *numberFourViewController = [[[NumberFourViewController alloc] initWithNibName:@"NumberFourViewController" bundle:nil] autorelease];

    tabBarController.viewControllers = [NSArray arrayWithObjects:numberOneViewController, numberTwoViewController,
                                        numberThreeViewController, numberFourViewController, nil];

    [self.navigationController pushViewController:tabBarController animated:YES];

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

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

发布评论

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

评论(1

花开雨落又逢春i 2024-08-09 13:01:45

self.view = tabBarController.view;在 TabBarController 委托类的 viewDidLoad 方法中修复了它...

好吧,肯定其他人会遇到同样的事情,希望这会帮助他们...

self.view = tabBarController.view; in the viewDidLoad method of the TabBarController delegate class fixed it...

Ah well, surely someone else will run into the same thing and hopefully this will help them...

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