UITabBar的常用设置

UITabBar十分常用,它能实现多个页面的快速切换,而且看起来简单实用。

假设我这有多个已经初始化好的viewController,然后需要将它们加入到TabBarController中,并把其设置为根视图

NSArray *views = [[NSArray alloc] initWithObjects:test, time, test1, test2, test3, test4, nil];

UITabBarController *tbc = [[UITabBarController alloc] init];
tbc.viewControllers = views;

self.window.rootViewController = tbc;

设置好以后看一下TabBar的效果图


这里的每个View的Item主要有这么几个属性,标题title,图片image,以及time右上的圆圈图标,显示的是badgeValue。可以在覆写view的初始化方法的时候设置它的tabBarItem属性。

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {        
        self.tabBarItem.title = @"time";
        self.tabBarItem.image = [UIImage imageNamed:@"time.png"];
        self.tabBarItem.badgeValue = [NSString stringWithFormat:@"%d", 3];
    }
    return self;
}

再看一下效果图的最右边,它是More,这是因为TabBar默认最多显示5个Item,多余的会自动加到More中去,点击More之后会弹出一个NavigationBar,上面有一个Edit按钮

UITabBar的常用设置_第1张图片

点击Edit

UITabBar的常用设置_第2张图片

另外还可以设置delegate协议,来实现委托方法,相关的协议有UITabBarDelegate和UITabBarControllerDelegate

UITabBarDelegate

UITabBar的常用设置_第3张图片

它主要有5个方法,其中最后一个是required,这个方法是在用户选择一个标签栏时发送委托,需要实现功能。

UITabBarControllerDelegate

UITabBar的常用设置_第4张图片

得益于OBJ-C冗长的方法名,方法都不是很难理解。看看API大概就都能使用了。


你可能感兴趣的:(IOS-UIKit,iOS)