【问题标题】:Setting 1x1 px image as background image of UIButton not rendering correctly in IB将 1x1 像素图像设置为 UIButton 的背景图像无法在 IB 中正确呈现
【发布时间】:2016-04-11 13:54:46
【问题描述】:

在 IB 中配置按钮时,我将这个按钮的背景图像设置为 1x1 像素的图像。由于按钮没有背景色且按钮标题的颜色为白色,因此按钮在 IB 中是不可见的。但是在使用平铺图像运行时,它会正确呈现。这个问题让我在 IB 工作时有点不方便。 Xcode 的版本是 7.2。这是Xcode的错误吗?有什么解决方法吗?

非常感谢。

【问题讨论】:

  • 为什么不用 backgroundColor?一个像素的图像没有区别。
  • @Lumialxk backgroundColor 不适用于按钮的不同状态。当状态为 UIControlStateNormal 时,我使用一种颜色,而 UIControlStateHighlighted 是另一种颜色。这可以使用 [UIButton setBackgroundImage:forState:] API 在代码中完成,也可以在 IB 中完成。我想在 IB 做这个。较大尺寸的图片没有这个问题
  • 为什么不扩展UIButton呢?你可以从一种颜色中绘制图像。其实这样更有效。
  • @Lumialxk 我以前做过。但是因为它可以在 IB 中完成,所以我更喜欢在 IB 中做这样的事情,因为我可以立即看到结果。性能方面,我觉得差别不大。

标签: ios image uibutton interface-builder


【解决方案1】:

我明白了,我发现你设置了图像而不是背景,所以你看不到它。

检查图像,所有分辨率都准备好了吗?在我的故事板中,它可以工作。

【讨论】:

  • 在运行时设置图像是可以的,但图像将保持其大小,除非您将框架设置为固定。
  • 使用更大尺寸的图片没有这个问题。
  • 尝试使用更大尺寸的图片作为背景图片,可以看到可以在IB中渲染。
  • 好的,我想通了。原来是因为我把 1px 图像放到了 2x 图像集中。将其放入 1x 图像集后,它就可以工作了。编辑你的答案,我会接受你的答案。非常感谢。
猜你喜欢
  • 2021-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-09
  • 1970-01-01
相关资源
最近更新 更多