xcode - iOS Swift 选项卡栏图标插入在运行时被删除

标签 xcode swift tabbar

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

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

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

最佳答案

阅读文档,UIBarItem(UITabBarItem 的父类(super class))具有属性 imageInset,您可以通过 访问标签栏项目>self.tabBarController.tabBar.items

如果不亲自测试,我认为您可能会遇到当阴影发生变化时(由于选择)重置插图的问题。

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

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

关于xcode - iOS Swift 选项卡栏图标插入在运行时被删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37504048/

相关文章:

ios - 我为货币使用哪种 Swift 数据类型

Qt:QDockWidget停靠时的选项卡图标

Swift - 将委托(delegate)连接到自定义 Xib 单元

ios - 循环处理时间太长

xcode - 如何在构建阶段从运行脚本访问 Xcode 用户定义的build设置?

ios - 在 tabbarcontroller 中更改选项卡时如何调用 Controller ? ( swift )

iphone - 错误 : Creating Tab-Navigation programmatically

xcode - 如何在 Swift 中使用 Parse 植入分区 TableView

ios - tableViewCell 按钮上的线程 1 fatal error

ios - 当 UICollectionView 背景为 UICollectionView 单元格时,不显示 UICollectionView 单元格