如何更改UITabBarItem的默认标题

时间:2011-10-18 12:56:19

标签: ios ios5 uitabbar

我想使用带有自定义标题的标准标签栏项目。我在TabBarItem直接创建 self.tabBarItem.title = @“Liked”后更改标题。例如“收藏夹” - UITabBarSystemItemFavorites:

 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        self.title = NSLocalizedString(@"Liked", @"Liked");
        self.tabBarItem = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemFavorites tag:0];
        self.tabBarItem.title = @"Liked";
    }
    return self;
}

我可以这样做吗?如果是,那我犯了错误?

UPD:更改 viewDidLoad()中的标签栏项标题适用于iOS4,但不适用于iOS5。还存在另一种方法吗?

由于

2 个答案:

答案 0 :(得分:2)

您应该在viewDidLoad中而不是在初始化中执行此操作。

答案 1 :(得分:0)

根据Swift5.1和Xcode,无法更改系统选项卡栏项目的标题和图像。它们在obj c中定义为枚举,如下所示。这是列表:

typedef enum UITabBarSystemItem : NSInteger {
case more, favorites, featured, topRated, recents, contacts, history, bookmarks, search, downloads ,mostRecent, mostViewed
} UITabBarSystemItem;

这是有原因的。有些图标可以在整个iOS生态系统中立即被识别,并且对每个人都意味着相同的含义,因此不可能以不同的方式使用它们。 这样,Apple可以创造更好的用户体验。 您不能使用Apple图标并使用其他标题。您可以改用自定义图标和自定义标题,或者在情节提要中选择SF符号,如下所示:

enter image description here