iOS 7.1问题 - 触摸并拖动该选项卡按钮时,Tabbar图标图像会自动调整大小

Sai*_*ail 22 uitabbarcontroller uitabbaritem ios

我有这个代码

[tabBarItem1 setFinishedSelectedImage:[UIImage imageNamed:@"tab_pressed_home_icon"] withFinishedUnselectedImage:[UIImage imageNamed:@"tab_home_icon"]];

tabBarItem1.imageInsets = UIEdgeInsetsMake(8, 0, -2, 0);
Run Code Online (Sandbox Code Playgroud)

在标签栏上设置了一个图标.

到目前为止,一切都工作罚款,直到昨晚我更新Xcode 5.1

并在ios7.1模拟器上运行应用程序.

这是应用程序 在此输入图像描述

现在,当我点击标签栏时,图标图像尺寸减小,当我释放手指图像恢复正常时.但是,如果我点击图标并拖动它,图像看起来像这样(缩小).

像这样 在此输入图像描述

怎么会发生这种情况?无论如何要解决这个问题?

谢谢.

wri*_*tak 23

通过像其他人提到的那样设置tabBarItem的imageInsets来解决此问题.您可以在代码中执行此操作,或者您可以在Interface Builder中执行此操作,这无关紧要.

重要的一点是让顶部插入BE EQUAL到底部插入.

  • 顶部插图不必等于底部插图.顶部和底部的总和应该等于左和右的总和(如果你不想拉伸或缩小). (7认同)
  • 这解决了这个问题.基本上他们必须互相取消:`item.imageInsets = UIEdgeInsetsMake(6,0,-6,0); (2认同)

Cod*_*Pug 11

在尝试通过以下代码设置Image insets时,我在iOS 7.1上遇到了同样的问题:

[self.tabBarItem setImageInsets:UIEdgeInsetsMake(5, 0, -5, 0)];

所以我直接使用故事板上的Bar Item Size解决了这个问题.

栏项目大小菜单

请记住,为此,您应该按以下方式分配TabBarItem的图像

UITabBar *tabBar = self.tabBarController.tabBar;
UITabBarItem *myItem = [tabBar.items objectAtIndex:0];

[homeItem setFinishedSelectedImage:[UIImage imageNamed:@"A.png"]
       withFinishedUnselectedImage:[UIImage imageNamed:@"B.png"]];
Run Code Online (Sandbox Code Playgroud)

而不是这样

[self.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"A.png"]
              withFinishedUnselectedImage:[UIImage imageNamed:@"B.png"]];
Run Code Online (Sandbox Code Playgroud)

更新

要访问Bar Item Size,请直接选择任何Tab Bar Controller的子项的Scene下的'Item'元素.(图像1)

在此输入图像描述


Fel*_*ile 7

我的问题是类似的,tabbar图标改变了它在7.1更新中的位置,这个问题真的很烦人,我做了一个快速的解决方案,因为我必须批准该应用程序.是这样的:

笔尖中的标签栏解决方案

好吧我不确定这是最好的解决方案,但对我来说是有效的.


iHi*_*las 3

这里同样的问题。另外,在更新到 iOS 7.1 和 xcode 5.1 之后,我的解决方案:底部选项卡栏项目大小设置为 4。(在大小检查器中)我像其他所有项目一样将其更改为 0,问题就消失了。