iOS 8:在界面构建器中设置的自定义标签栏项目的选定图像不起作用

Posted

技术标签:

【中文标题】iOS 8:在界面构建器中设置的自定义标签栏项目的选定图像不起作用【英文标题】:iOS 8: Selected image for custom tab bar item set in interface builder does not work 【发布时间】:2015-01-29 13:07:33 【问题描述】:

我已在 Storyboard 选项卡栏项中设置为自定义,将图像设置为轮廓图像,将选定图像设置为填充图像,但运行应用程序时未显示选定图像。

如果我使用以编程方式创建标签栏项目,它会起作用 UITabBarItem(title: String?, image: UIImage?, selectedImage: UIImage?)

我使用 Xcode 6.1.1。

可能有什么问题?

【问题讨论】:

【参考方案1】:

我认为,这是 Xcode 的一个错误,如果你添加一个用户定义的运行时属性,类型为 Image 和 keyPath "selectedImage",你可以设置你的图像。 这里是选项卡式应用程序模板的示例,在第二个选项卡上带有自定义选择的图像(我使用第一个选项卡中的图像):

【讨论】:

确保使用“图像”类型,而不是“字符串”类型。【参考方案2】:

这很可能是因为它不符合接口要求。标签栏项目很挑剔,所选图像的笔划或轮廓必须明显大于其对应项。请参阅here,特别是有关笔划宽度的注释。有条件地,如果它不是未选择图像的“填充”变体,则它有可能不会填充,具体取决于您创建的比较选择的图像。

【讨论】:

不。这是一个实际的错误。图像有效,所选图像无效。 @安德鲁的回答有效。【参考方案3】:

从 Xcode 9 开始,设置所选图像的功能在界面生成器中可用(并且有效)。

【讨论】:

以上是关于iOS 8:在界面构建器中设置的自定义标签栏项目的选定图像不起作用的主要内容,如果未能解决你的问题,请参考以下文章

如何让自定义标签栏显示标签栏项目在 Xcode 中设置的选定图像?

iOS:如何获取刚刚在界面生成器中设置的 UIView 的框架

MonoTouch 中的自定义标签栏项目

代码中设置的自动布局约束未出现在界面生成器中

如何在目标c中设置标签栏项badgeValue?

如何在ios中更改标签栏项目的背景图像?