将自定义UITabBar实现为多个UIViewController

时间:2013-05-31 08:11:20

标签: ios objective-c

我正在尝试将一个带有4-5个标签栏项目的标签栏包含到我的应用程序的多个视图控制器中,并将作为菜单在视图之间跳转(地图,关于,收藏夹等)。

我在Storyboard上创建了一个UITabBar项目并设置了其Bar项目的标签。因为相同的标签栏将用于其他几个视图控制器(Main,View2,View3等)。我决定创建一个扩展UITabBar的类。这将帮助我稍后自定义栏。 Storyboard中的UITabBar对象现在是此类的对象(BottomTabBar)。

我的问题是,如何检测条形项目何时被点击?

此外,因为我不熟悉TabBar,如果您有任何一般指南或技巧可以帮助我在开发过程中,请与我分享。

BottomTabBar.h

#import <UIKit/UIKit.h>

@interface BottomTabBar : UITabBar <UITabBarDelegate>

@end

BottomTabBar.m

#import "BottomTabBar.h"

@implementation BottomTabBar

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        self.delegate = self;
    }
    return self;
}

- (void) tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item{

    NSLog(@"Tabbed!");
}

@end

MainViewController.h

#import <UIKit/UIKit.h>
#import "BottomTabBar.h"

@interface MainViewController : UIViewController <UITableViewDataSource, UITableViewDelegate>{

    AppDelegate *appDelegate;
    NSArray *searchResults;
}

@property (strong, nonatomic) IBOutlet UIScrollView *slideshow;
@property (strong, nonatomic) IBOutlet UIPageControl *scroll;
@property (strong, nonatomic) IBOutlet BottomTabBar *bottomBar;


@end

2 个答案:

答案 0 :(得分:0)

请参阅本教程和自定义标签栏的源代码。

Custom tabbar

我希望它可以帮到你。

答案 1 :(得分:0)