【发布时间】:2017-09-22 13:07:33
【问题描述】:
UIButtonType.plain 是“没有模糊背景视图的标准系统按钮”。在 tvOS 11 中。但是,当我尝试制作 .plain UIButton 并将其背景颜色更改为红色时,我仍然可以在 UIButton 中看到 VisualEffectView 使红色变暗。如何摆脱模糊的背景视图并获得具有运动效果的真正普通按钮?谢谢。
【问题讨论】:
UIButtonType.plain 是“没有模糊背景视图的标准系统按钮”。在 tvOS 11 中。但是,当我尝试制作 .plain UIButton 并将其背景颜色更改为红色时,我仍然可以在 UIButton 中看到 VisualEffectView 使红色变暗。如何摆脱模糊的背景视图并获得具有运动效果的真正普通按钮?谢谢。
【问题讨论】:
在 tvOS 上对 UIButton 的自定义是有限的,如果不继承 UIButton,您可能无法获得所需的效果。
但是,一种没有子类化的解决方法是使用图像并为您的按钮设置背景图像。
有几个开源库可以满足您的要求。我一直在为我的项目使用并取得巨大成功的一个是: FocusTvButton
【讨论】:
我在我的项目中使用了这个解决方法:
button.titleLabel?.superview?.backgroundColor = .red
使用此方法,您将无法为状态设置不同的颜色。如果您不关心焦点状态的不同背景颜色,这可以帮助您。
否则我认为你应该继承UIButton 并在didUpdateFocus 和pressesBegan 中设置适当的颜色
【讨论】: