首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >uitabbar和uitabbaritem

uitabbar和uitabbaritem
EN

Stack Overflow用户
提问于 2011-06-30 23:28:59
回答 3查看 3.3K关注 0票数 2

我正在尝试将UITabBarItems添加到UITabBar中,而不是添加到选项卡栏控制器中。这就是我想要做的。当我调用setItems时,它总是崩溃。谁能指出哪里出了问题吗?

代码语言:javascript
复制
My_Accounts *my_AccountsVC = [[My_Accounts alloc] init];
Payments *paymentsVC = [[Payments alloc] init];
Transfer *transferVC = [[Transfer alloc] init];
NSArray *VCArray = [[NSArray alloc] initWithObjects:my_AccountsVC,paymentsVC,transferVC, nil];
[self.tabbar setItems:VCArray];

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-06-30 23:33:45

如果你看一下items,它需要一个UITabBarItem数组,而不是你要传递的UIViewController子类。

您必须跟踪其他地方的视图控制器,并传递一个UITabBarItem数组并在UITabBar的委托中处理视图控制器。

或者更好的是,使用UITabBarController

票数 2
EN

Stack Overflow用户

发布于 2011-06-30 23:32:44

我相信您误解了UITabBarController的工作原理(documentation link)。必须使用viewControllers属性将UIViewController%s添加到UITabBarController

您的最后一行应该是:

[tabBarController setViewControllers:VCArray];

UITabBarControllertabBar属性是只读的。您不能设置它。

如果您有一个没有UITabBarViewControllerUITabBar (documentation link),那么您将需要使用以下方法:

代码语言:javascript
复制
- (void)setItems:(NSArray *)items animated:(BOOL)animated

但是,这些项目不是UIViewController%s!它们是UITabBarItem (documentation link)的实例。您可以通过将它们放入一个数组来一次性设置它们,或者您可以为每个视图控制器设置它们。您可以使用多个系统项目(更多、收藏等),也可以使用– initWithTitle:image:tag:创建自定义项目。

票数 1
EN

Stack Overflow用户

发布于 2011-06-30 23:34:32

代码似乎是错误的。我猜

代码语言:javascript
复制
[self.tabbar setItems:VCArray];

上面一行应该有UITabBarItems数组的参数。我猜你通过了UIViewController的项目。您应该创建UITabbarItems并在setItems方法中传递该对象的数组。

你应该像下面这样做:

代码语言:javascript
复制
    UITabBarItem *tabOne = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemBookmarks tag:0];
    UITabBarItem *tabTwo = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemFavorites tag:1];

    NSArray *arrTabbarItems = [NSArray arrayWithObjects:tabOne,tabTwo, nil];

    [tabbar setItems:arrTabbarItems];

我不确定它会做什么,因为我一直在使用UITabBarController。希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6537248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档