tvOS - UIButton 在聚焦时不动画

tvOS - UIButton doesn't animate when focused

我有一个用于 tvOS 的小型测试应用程序 - 带有两个按钮的白色背景。这些按钮是标准的 UIButton,除了设置标题文本和设置 titleColor 为黑色外没有任何自定义。

我的 UIButtons 在聚焦时没有收到阴影(或根本没有任何动画)。如果我将它们替换为 UITextFields,它们将按预期获得默认投影和动画。我可以确认按钮 do 通过添加目标并在被选中时打印到控制台来获得焦点。

知道发生了什么事吗? Apple's documentation, this article and 都建议 UIButton 应该像其他可聚焦元素一样自动接收默认焦点动画。这是错误还是我遗漏了什么?

相关代码:

override func viewDidLoad() {
    super.viewDidLoad()

    view.backgroundColor = UIColor.whiteColor()

    let button = UIButton()
    button.setTitle("Button", forState: .Normal)
    button.setTitleColor(UIColor.blackColor(), forState: .Normal)
    button.frame = CGRectMake(500, 500, 300, 100)
    view.addSubview(button)

    let button2 = UIButton()
    button2.setTitle("Button2", forState: .Normal)
    button2.setTitleColor(UIColor.blackColor(), forState: .Normal)
    button2.frame = CGRectMake(900, 500, 300, 100)
    view.addSubview(button2)

}

编辑: 只有在以编程方式添加 UIButton 时才会发生这种情况 - 如果我在 Interface Builder 中添加它们,它们会正常运行。

调用那个 UIButton() 初始化程序会给你一个 'custom' 按钮,而你真正想要的是一个 'system' 按钮,就像这样:

let button = UIButton(type: .System)

自定义按钮根本没有任何 built-in 外观,而系统按钮有。