iOS Swift标签栏图标输入在运行时被删除

时间:2016-05-28 21:52:18

标签: xcode swift tabbar

我在标签栏控制器中有两个ViewControllers。在界面构建器中,我已将图像插入(5,5,5,5)应用于选项卡栏图标,以获得我想要的大小。当我最初运行模拟器时,一切看起来都很棒,但是当我选择第二个ViewController时,两个标签栏图标会自动调整为默认值(0,0,0,0)。当我返回到第一个ViewController时,两个图标仍保持默认大小而没有插入。

注意:我的图标图像是XCassets文件夹中的.pdf文件(设置为单矢量比例因子)。我已经看到其他线索暗示"平衡"插图(顶部为5,底部为-5)。但这会使图像压缩距离顶部5英尺,并将图像向下拉伸5。我不知道这意味着如何平衡图像大小。

如果有人知道什么代码会在运行时设置insets,也许我可以使用它而不是在界面构建器中设置insets?提前谢谢。

1 个答案:

答案 0 :(得分:0)

阅读文档时,UIBarItemUITabBarItem的超类)拥有属性imageInset,您可以通过self.tabBarController.tabBar.items访问标签栏项目。

如果没有自己进行测试,我认为当着色发生变化时(由于选择),插入的插图可能会出现问题。

因此,您可能会发现每次更改选择时(我认为可以通过委托检测到),您需要将插图重置为所需的大小。

或者,您可能会发现只需将源图像自定义为所需的最终外观可能更容易。