阻止imageInsets重复tabBarItem

时间:2015-10-17 15:05:10

标签: objective-c uitabbaritem

我想为用于tabBarItem的图像设置填充(或调整大小)。所以在控制器中我写下面的代码:

  - (instancetype)init
    {
        self = [super init];
        if (self) {
            UIImage *i = [UIImage imageNamed:@"groups_icon"];
            self.tabBarItem.image = i;
            self.tabBarItem.imageInsets = UIEdgeInsetsMake(3, 3, 3, 3);
        }
        return self;
    }

但每次按TabBarItem后图像都会变小。如何将其设置为仅执行一次?我在viewDidLoad和viewWillApear中测试它,结果是一样的。

另外值得注意的是,在初始化UITabBarController时,我无法在使用相关控制器之前为tabBarItem设置图像。

1 个答案:

答案 0 :(得分:0)

不幸的是,你不能......这可能是一个错误,或者imageInsets的记录非常糟糕。您只能使用imageInsets来移动图像,并且同一轴的插入总和必须始终为0.也就是说,顶部和底部插入必须是相反的值以及左右插图。 / p>

如果你想要一个较小的图像,你将不得不自己创建一个(使用photoshop或类似的软件),将它添加到你的资产并使用这个预收缩的图像。