0

我正在实现 UIButton 的复选框子类。有 2 个背景图像(开/关)和 4 个概念状态:

  • on- 在图像上/未突出显示
  • off- 关闭图像/未突出显示
  • on & pressed- 在图像上/突出显示
  • off & pressed- 关闭图像/突出显示

如果我将背景图像设置为仅打开和关闭(UIControlStateNormalUIControlStateSelected),则按钮在按住时会突出显示。

但是,当 时on & pressed,它使用关闭图像(正如预期的那样,因为状态是UIControlStateSelected | UIControlStateHighlighted,所以它使用正常状态图像)

因此,我将背景图像设置为UIControlStateSelected | UIControlStateHighlighted打开图像,但现在禁用了编程突出显示 - 我假设因为如果您为该状态设置特定的背景图像,逻辑是您可能想要覆盖突出显示。

我不想使用第三张图片,是否可以设置背景图片UIControlStateSelected | UIControlStateHighlighted并仍然应用程序化突出显示?

[self setAdjustsImageWhenHighlighted:YES];设置背景图像后我已经打电话了。

4

1 回答 1

0

我猜您使用UIButton的类型不是“自定义”,而是“圆角矩形”。在这种情况下,设置背景图像可能会产生意想不到的副作用,请参阅我之前的问题
我建议将按钮类型更改为“自定义”。然后当然你必须自己定义所有属性。

于 2013-04-18T15:36:40.230 回答