【问题标题】:How to set title with UITabbarsystemitem如何使用 UITabbarsystemitem 设置标题
【发布时间】:2013-04-25 08:58:27
【问题描述】:

我只是想知道如何使用UITabBarSystemItem 设置标签栏项目的标题?

我做了什么:

self.tabBarItem = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemFeatured tag:0];

所以要默认更改标题而不是“精选”(因为UITabBarSystemItemFeatured 对象),我写道:

self.tabBarItem.title = @"Actu";

所以在我看来,我应该将“Actu”作为标题而不是“Featured”。

但它什么也没改变,标题一直是“精选”(默认标题)。

我也试过了:

[[self.tabBarController.tabBar.items objectAtIndex:0] setTitle:NSLocalizedString(@"Actu", @"Actu")];

(因为这个 tabbaritem 在索引 0 处),但没有任何变化。

或者使用UITabBarSystemItem对象可能无法进行这样的修改?

我希望这已经足够解释了:/

PS : 对不起我的英语和其他任何错误,第一次发帖……:/

【问题讨论】:

    标签: ios objective-c uitabbaritem


    【解决方案1】:

    UITabBarItem 使用 initWithTabBarSystemItem:tag: 初始化时,您以后无法更改图像或标题属性。

    来源:iOS Development Documentation

    【讨论】:

    • 好的,所以如果我想设置标题,我必须导入自己的图片。感谢您的快速答复!
    【解决方案2】:

    您可以使用 KVC。

    [self.tabBarItem.setValue("YourTitle", forKey: "internalTitle")];

    【讨论】:

      【解决方案3】:

      你已经写过了:

      ...使用UITabBarSystemItem 对象无法进行这样的修改...

      那些将titleimage 属性设置为nil,因此它们将这些值存储在一些内部私有属性中。

      文档也说:

      -initWithTabBarSystemItem:tag:
      返回项目的标题和图像属性以后无法更改。

      【讨论】:

        【解决方案4】:

        其实是可以的,你可以利用_setInternalTitle: from private API.的方法

        [self.tabBarItem setValue:@"Categories" forKey:@"internalTitle"];
        

        注意事项:仅用于测试版本。

        【讨论】:

        • 太棒了,这行得通。这对于在快速原型制作时使用系统图标非常方便。这是 Swift 中的代码(适用于 Xcode 10 iOS 12):navigationController.tabBarItem.setValue("Hello", forKey: "internalTitle")
        【解决方案5】:

        我意识到这是旧的,但也许这会帮助其他想要这样做的人。如上所示,从系统项创建一个 tabBarItem。然后创建另一个 tabBarItem,就好像您有一个自定义图标并从系统项中复制图像一样。

                UITabBarItem* systemItem = [[UITabBarItem alloc] initWithTabBarSystemItem:UITabBarSystemItemFeatured tag:0];
                UITabBarItem* theItem = [[UITabBarItem alloc] initWithTitle:theNameIWantToUse image:systemItem.image tag:0];
        

        【讨论】:

        • 是的,我的答案不正确,我后来才发现。
        • systemItem.title 也是 nil。
        猜你喜欢
        • 1970-01-01
        • 2019-06-15
        • 1970-01-01
        • 2011-12-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-12
        • 1970-01-01
        相关资源
        最近更新 更多