通过 UITabBarController 访问时如何设置 UITabBars 项目属性?

发布于 2024-09-04 21:30:17 字数 972 浏览 3 评论 0原文

我以编程方式构建了一个 UITabBarController 并填充了它的 viewControllers 属性。 当我运行此命令时,tabBar 按钮当然是空的,我尝试访问 UITabBarController 上的 tabBar 属性,将其 items 属性设置为我的文本/图像,这导致应用程序崩溃。

浏览 UITabBarController 的文档时,我在 tabBar 属性下读到了以下内容:

关联的标签栏视图 用这个控制器。 (只读)

@property(非原子,只读)UITabBar *tabBar 讨论 你永远不应该尝试操纵 UITabBar 对象本身存储在该属性中。 如果您尝试这样做,选项卡栏 视图抛出异常。配置 标签栏界面的项目, 你应该分配一个或多个 自定义视图控制器 viewControllers 属性。标签栏 从中收集所需的标签栏项目 您指定的视图控制器。

这个提供的标签栏视图 财产仅适用于以下情况 您想要显示操作表 使用 showFromTabBar: 方法 UIActionSheet 类。

这就是我想要的:

标签栏收集需要的标签 视图控制器中的栏项目 您指定。

您不在一个地方设置 tabBar 而在另一个地方设置内容也是完全合理的。

但是,如何在我的 viewController 中定义这些项目,这些项目都是 UINavigationController 类型,并以我的自定义 ViewController 作为 rootController?

除了我需要实现的 UITabBarControllerDelegate 之外,还有其他协议吗? >

希望有人能指出我正确的方向,我没有看到这个:)谢谢

I have build a UITabBarController programmatically and populated its viewControllers property.
When I run this the tabBar buttons are, of course, empty, I tried to access the tabBar property on the UITabBarController to set its items property to my text/images, which made the app crash.

Going through the documentation for the UITabBarController I read this under the tabBar property:

The tab bar view associated
with this controller. (read-only)

@property(nonatomic,readonly) UITabBar
*tabBar Discussion You should never attempt to manipulate the UITabBar
object itself stored in this property.
If you attempt to do so, the tab bar
view throws an exception. To configure
the items for your tab bar interface,
you should instead assign one or more
custom view controllers to the
viewControllers property. The tab bar
collects the needed tab bar items from
the view controllers you specify.

The tab bar view provided by this
property is only for situations where
you want to display an action sheet
using the showFromTabBar: method of
the UIActionSheet class.

This is what I want:

The tab bar collects the needed tab
bar items from the view controllers
you specify.

It also makes perfect sense that you do not setup up the tabBar in one place and the content in another.

But how do I define these items in my viewControllers which are all of type UINavigationController, with my custom ViewController as the rootController?

Is there some protocol besides the UITabBarControllerDelegate I need to implement?

Hope someone could point me in the right direction, I did not see this one coming:) Thanks

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

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

发布评论

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

评论(1

哽咽笑 2024-09-11 21:30:17

一般来说,选项卡栏项目会填充您正在加载的视图控制器的名称。

对于您的情况,您可以做一件事,

[tabbarContrller.tabBarItem initWithTitle:@"rafsfsa" image:[UIImage imageName:@"some.png" tag:0];

如果您收到此信息,请回复。

In general, the tab bar items gets filled with the name of the view controller you are loading into it.

In your case you can do one thing,

[tabbarContrller.tabBarItem initWithTitle:@"rafsfsa" image:[UIImage imageName:@"some.png" tag:0];

Do reply if you get this in.

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