【问题标题】:Button Images Don't Show When Using Xcode 5使用 Xcode 5 时按钮图像不显示
【发布时间】:2013-12-18 14:54:41
【问题描述】:

我有几个按钮,每个按钮都分配有图像。在使用 iOS 6 SDK 的 Xcode 4.6 中,它们的显示效果应该不错。将 Xcode 5 与 iOS 7 SDK 一起使用时,图像不存在。在 xib 中,它说按钮上有图像,但没有出现。任何想法为什么?

iOS 6:

iOS 7:

【问题讨论】:

  • 你设置了按钮的色调吗?
  • 您附加的图像是 XIB 的屏幕转储还是正在运行的应用程序?它是否在 xib 上显示问号?您是否以编程方式更改或设置图像?
  • @johnMa,Xcode 5 中显示的颜色是默认的色调。
  • 尝试设置 tint color clear color。
  • 使用此代码设置图像 UIImage *firstimage = [[UIImage imageNamed:@"notificationselected.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

标签: ios objective-c ios7 uibutton


【解决方案1】:

对我来说,我的问题是按钮类型设置为系统而不是自定义。它们在 iOS 6.0 和 iOS 6.1 模拟器中显示良好,只是在 iOS 7.0 模拟器中显示不佳。我不确定这是怎么发生的,因为我很确定这是第一次在 Xcode 5 中使用 iOS 7.0 sdk 打开该项目。我有三个按钮,1个显示很好,因为它是一个自定义按钮,另外两个没有显示他们的图像,但可以按下。一旦设置为自定义按钮类型,一切正常,正如预期的那样。

【讨论】:

  • 就是这样!谢谢!
【解决方案2】:

在将色调颜色设置为清除并将图像和背景图像设置为我想要的之后,我能够显示图像。在 Xcode 4 中,我不必更改任何内容,也不必设置背景图像,只需设置图像即可。

【讨论】:

  • 如果您没有将图像设置为 UIImageRenderingModeAlwaysOriginal,那么它们将显示为模板图像(不透明时着色,透明时无颜色)——这是 iOS 7 中按钮的标准行为。您应该查看链接到 UIButton 类参考顶部的文档“Buttons”。
【解决方案3】:

是的,这是iOS7 问题。

通过自动布局设置图像/标签的底部边距,然后在您的viewDidLoad 中尝试此代码,这应该可以工作。

if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)])
{
    [self prefersStatusBarHidden];
    [self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)];
}
else
{
    // iOS 6
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-20
    • 1970-01-01
    • 2014-01-27
    • 2015-08-20
    • 2014-07-10
    • 1970-01-01
    • 2018-05-29
    相关资源
    最近更新 更多