tvOS UIButton .plain 样式,没有模糊背景视图

Posted

技术标签:

【中文标题】tvOS UIButton .plain 样式,没有模糊背景视图【英文标题】:tvOS UIButton .plain style without blurred background view 【发布时间】:2017-09-22 13:07:33 【问题描述】:

UIButtonType.plain 是“没有模糊背景视图的标准系统按钮”。在 tvOS 11 中。但是,当我尝试制作 .plain UIButton 并将其背景颜色更改为红色时,我仍然可以在 UIButton 中看到 VisualEffectView 使红色变暗。如何摆脱模糊的背景视图并获得具有运动效果的真正普通按钮?谢谢。

snapshot

【问题讨论】:

【参考方案1】:

在 tvOS 上对 UIButton 的自定义是有限的,如果不继承 UIButton,您可能无法获得所需的效果。

但是,一种没有子类化的解决方法是使用图像并为您的按钮设置背景图像。

有几个开源库可以满足您的要求。我一直在为我的项目使用并取得巨大成功的一个是: FocusTvButton

【讨论】:

【参考方案2】:

我在我的项目中使用了这个解决方法:

button.titleLabel?.superview?.backgroundColor = .red

使用此方法,您将无法为状态设置不同的颜色。如果您不关心焦点状态的不同背景颜色,这可以帮助您。 否则我认为你应该继承UIButton 并在didUpdateFocuspressesBegan 中设置适当的颜色

【讨论】:

以上是关于tvOS UIButton .plain 样式,没有模糊背景视图的主要内容,如果未能解决你的问题,请参考以下文章