将UITabBarItem背景图像缩放到项目的大小

时间:2013-09-20 06:42:09

标签: ios objective-c

我有一个UITabBar,但在运行时我不知道会出现多少个标签。

现在我自定义了UITabBar图像,并且存在图像总是按照其实际图像大小进行缩放的问题,但我希望它始终缩放到它被设置为背景的UITabBar项目的大小。

enter image description here

我设置了这样的背景图片:

-(void)addTabBarItems{
  UITabBarItem *item1 = [[UITabBarItem alloc] initWithTitle:@"Tab1" image:nil tag:1];
  UITabBarItem *item2 = [[UITabBarItem alloc] initWithTitle:@"Tab2" image:nil tag:2];
  UITabBarItem *item3 = [[UITabBarItem alloc] initWithTitle:@"Tab3" image:nil tag:3];
  UITabBarItem *item4 = [[UITabBarItem alloc] initWithTitle:@"Tab3" image:nil tag:4];

  [[UITabBar appearance] setSelectionIndicatorImage:[UIImage imageNamed:@"TabBarItemBackground.png"]];

  NSArray *tabBarItems = [NSArray arrayWithObjects:item1,item2,item3,item4, nil];
  self.tabBar.items = tabBarItems;
}

我通过研究发现了这一行,但它不起作用(例如item1):

item1.imageInsets = UIEdgeInsetsMake(-10,0,-10,0);
谁知道如何实现这个目标?

1 个答案:

答案 0 :(得分:0)

老兄,使用setitems:动画: https://developer.apple.com/library/ios/documentation/uikit/reference/UITabBar_Class/Reference/Reference.html#jumpTo_21

然后访问各个tabbaritems框架

[[tabBar.items objectAtIndex:0] frame];

(考虑将此包含在我的答案中,希望我有)