【问题标题】:How to change stroke of selected tabbar icon如何更改所选标签栏图标的笔划
【发布时间】:2012-12-18 05:55:53
【问题描述】:

我试图弄清楚如何更改所选标签栏图标的笔划。它通常是青色,就像所选图标的色调。我已经更改了所选图标的色调和指示图像,如下所示:self.tabBarController.tabBar.selectedImageTintColor = [UIColor grayColor]; self.tabBarController.tabBar.selectionIndicatorImage = [UIImage imageNamed:@"selectedTab.png"];

但现在我的图标周围仍然有青色的笔触

Image

有没有人知道它的代码,因为我找不到它

【问题讨论】:

    标签: iphone objective-c uitabbarcontroller uitabbar stroke


    【解决方案1】:

    我之前也注意到了这一点。我最终只是手动设置了选定和未选定的图像,而不是让它为我渲染颜色。

    然后,您可以使用 Photoshop 或您喜欢的图像编辑软件为每个选项卡设计两张图像。选择选项卡时,一个图像将是选项卡图标,而未选择选项卡时,另一个图像将用于选项卡。您需要自己在 Photoshop 中应用淡色。

    将所有图像导入 Xcode 后,您可以在所需的 UITabBarItem 上设置它们。我通常在我的视图控制器初始化函数中设置这些。

    - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
    {
        self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
        if (self) {
            [self.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"my-selected-icon"] withFinishedUnselectedImage:[UIImage imageNamed:@"my-deselected-icon"]];
        }
        return self;
    }
    

    您必须为标签栏上的每个视图控制器执行此操作。

    【讨论】:

    • 这项工作将如何运作,请您更详细地描述一下它吗?我对目标 C 不太擅长
    • 我已经添加了更多关于如何使用我建议的功能的细节。这种方法的烦人之处在于您必须为每个 UITabBarItem 创建两个图像文件。
    【解决方案2】:

    试试这段代码,把它放在viewDidLoad中:

    for (UITabBarItem * barItem in theTabBar.items) {
        UIImage * image = barItem.image;
        [barItem setFinishedSelectedImage:image withFinishedUnselectedImage:image];
    }
    

    【讨论】:

      猜你喜欢
      • 2015-09-12
      • 2015-04-23
      • 2021-11-26
      • 2015-07-04
      • 1970-01-01
      • 2011-06-10
      • 1970-01-01
      • 2013-06-11
      • 1970-01-01
      相关资源
      最近更新 更多