【问题标题】:How to control UITabBar如何控制UITabBar
【发布时间】:2012-05-03 14:56:38
【问题描述】:

我在内容中间创建了 UITabBar(项目:信息、位置和描述),现在我想为标签栏设置自定义背景图像,默认选择第一个按钮并在用户选择另一个标签栏项目时获取操作.

这里是标签栏的ss:http://dl.dropbox.com/u/77033905/tabBar%20in%20the%20middle.png

请告诉我这个问题的答案:

  1. 如何为这个标签栏设置自定义背景图片?
  2. 如何获取选中项?
  3. 如何默认选中第一项?

现在我已经创建了 UITabBar 并包含在这个 ViewController 中,下一步是什么?

这是 ViewController.h:

@interface ViewController : UIViewController<UITabBarDelegate> {
    UITabBar *tabBar;
}
@property (strong, nonatomic) IBOutlet UITabBar *tabBar;
...

查看.m:

#import "ViewController.h"

@interface ViewController ()

@end

@implementation OfferViewController

@synthesize tabBar;
- (void)viewDidLoad
{
    [super viewDidLoad];

    UIImage *selectedImage0 = [UIImage imageNamed:@"HomeDB.png"];
    UIImage *unselectedImage0 = [UIImage imageNamed:@"HomeLB.png"];

    UIImage *selectedImage1 = [UIImage imageNamed:@"ScheduleDB.png"];
    UIImage *unselectedImage1 = [UIImage imageNamed:@"ScheduleLB.png"];

    UIImage *selectedImage2 = [UIImage imageNamed:@"BuildingsDB.png"];
    UIImage *unselectedImage2 = [UIImage imageNamed:@"BuildingsLB.png"];


    //UITabBar *tabBar = self.tabBar;
    UITabBarItem *item0 = [tabBar.items objectAtIndex:0];
    UITabBarItem *item1 = [tabBar.items objectAtIndex:1];
    UITabBarItem *item2 = [tabBar.items objectAtIndex:2];


    [item0 setFinishedSelectedImage:selectedImage0 withFinishedUnselectedImage:unselectedImage0];
    [item1 setFinishedSelectedImage:selectedImage1 withFinishedUnselectedImage:unselectedImage1];
    [item2 setFinishedSelectedImage:selectedImage2 withFinishedUnselectedImage:unselectedImage2];

    [super viewDidLoad];
}
...

我现在如何默认选择项目并获取用户在某些标签栏项目上的标签?

【问题讨论】:

    标签: iphone objective-c xcode storyboard uitabbar


    【解决方案1】:

    这是我使用的链接:custom tabbar

    希望对你有帮助..

    【讨论】:

    • tnx 用于链接,但这是底部的 Tabbar,由 AppDelegate 控制。我在内容中间有 TabBar(图像示例)。你知道如何控制这个标签栏吗?我将 UITabBar 子类包含在 ViewController 和 viewDidLoad 中,称为“OfferTabBar *tab = [[OfferTabBar alloc] init];”。下一步是什么? tnx
    • 好的,所以你有 3 个标签栏样式的按钮,你可以像三个按钮一样。从我上面提供的链接中,您可以设置选定和未选定的图像。选择项目后,您可以将其存储在您的 appdelegate 或 nsuserdefaults 中 .. 我希望这能解决您的问题..
    【解决方案2】:

    @iremk 链接中的第 5 步为您提供了自定义标签栏所需要做的事情,即使它不受 AppDelegate 控制:只要您在 viewController 或其他任何内容中有对它的引用,您就可以使用方法/UITabBar 类的属性。

    顺便说一句,如果“自定义”只是指在项目上设置图标,并保持标签栏的灰色样式,则可以在 InterfaceBuilder 中设置项目的Image 属性。

    对于第 2 步和第 3 步,只需查看 UITabBar 和 UITabBarDelegate 文档:

    【讨论】:

    • 请看我的回答,它仍然回答你的帖子。
    • 请注意在发布/更新问题时预览和格式化。
    • tnx 和 sry 但请帮忙做一件事。 - (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {.. 不工作。我是否需要将一些我的自定义 UITabbar 与 or 连接起来?
    • 确实如此。调用此方法的一种方法是将覆盖此方法的类的实例分配给 UITabBar 的 delegate 属性。
    • 是的,我没有委托我的 TabBar。现在正在工作。感谢帮助。 :)
    猜你喜欢
    • 2011-07-13
    • 1970-01-01
    • 1970-01-01
    • 2010-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多