iOS Swift 标签栏图标插图在运行时被擦除



我在标签栏控制器中有两个视图控制器。 在界面构建器中,我将图像插图(5、5、5、5)应用于选项卡栏图标,以使其大小符合我的需求。 当我最初运行模拟器时,一切看起来都很好,但是当我按 Tab 键转到第二个 ViewController 时,两个选项卡栏图标都会自动调整为默认值 (0, 0, 0, 0)。 当我按 Tab 键返回第一个 ViewController 时,两个图标都保持默认大小,没有插入。

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

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

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

如果没有自己测试,我认为您可能会遇到阴影更改时重置插图的问题(因为选择)。

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

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

最新更新