Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode iOS Swift选项卡栏图标插入在运行时被擦除_Xcode_Swift_Tabbar - Fatal编程技术网

Xcode iOS Swift选项卡栏图标插入在运行时被擦除

Xcode iOS Swift选项卡栏图标插入在运行时被擦除,xcode,swift,tabbar,Xcode,Swift,Tabbar,在选项卡栏控制器中有两个ViewController。在interface builder中,我将图像插入(5、5、5、5)应用于选项卡栏图标,以获得我想要的大小。当我最初运行模拟器时,一切看起来都很棒,但是当我切换到第二个ViewController时,两个选项卡栏图标都会自动调整为默认值(0,0,0,0)。当我返回到第一个ViewController时,两个图标保持默认大小,没有插入 注意:我的图标图像是XCassets文件夹中的.pdf文件(设置为单矢量比例因子)。我见过其他一些建议“平衡

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

注意:我的图标图像是XCassets文件夹中的.pdf文件(设置为单矢量比例因子)。我见过其他一些建议“平衡”插图的线程(5个用于顶部,5个用于底部)。但这会将图像从顶部压缩5,并向底部拉伸5。我不明白这是如何平衡图像大小的


如果有人知道什么代码会在运行时设置插入,也许我可以用它来代替在interface builder中设置插入?提前感谢。

阅读文档后,
UIBarItem
(UITabBarItem的超类
uitabaritem
)具有属性
imageInset
,您可以通过
self.tabBarController.tabBar.items
访问选项卡栏项

如果不亲自测试它,我想你可能会有一个问题,当阴影改变时(由于选择),插图会被重置

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

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