当前位置:  开发笔记 > 编程语言 > 正文

在Swift(tvOS)中,您如何更改UIButton的高光和焦点颜色?

如何解决《在Swift(tvOS)中,您如何更改UIButton的高光和焦点颜色?》经验,为你挑选了1个好方法。

所以我有一些按钮,我通过Interface Builder添加到视图中,而不是使用我自定义的系统按钮.我试图弄清楚如何改变特征,例如在不同状态(突出显示,聚焦等)期间的文本颜色和背景颜色.

我似乎不能通过IB做到这一点,所以我可能会创建一个UIButton的子类并在那里更改它们,但是我很难找到要更改的属性.我没有在文档中明确提到它们



1> Yoseob Lee..:

你肯定是在正确的轨道上!

一旦你继承了UIButton,就可以覆盖这个函数didUpdateFocusInContext(来自UIFocusEnvironmentprotocol,UIButton在tvOS上已经实现了)

override func didUpdateFocusInContext(context: UIFocusUpdateContext, withAnimationCoordinator coordinator: UIFocusAnimationCoordinator) {
    super.didUpdateFocusInContext(context, withAnimationCoordinator: coordinator)

    if context.nextFocusedView == self {
        // This is when the button will be focused
        // You can change the backgroundColor and textColor here
    } else {
        // This is when the focus has left and goes back to default
        // Don't forget to reset the values
    }
}

您还可以获得幻想并转换框架以模仿默认的"焦点"效果!

推荐阅读
跟我搞对象吧
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有