Objective c tvOS-UIButton不';当聚焦时,你不能激活

Objective c tvOS-UIButton不';当聚焦时,你不能激活,objective-c,swift,tvos,Objective C,Swift,Tvos,我有一个tvOS的小测试应用程序——一个白色背景,有两个按钮。按钮是标准的ui按钮s,除了设置标题文本并将标题颜色设置为黑色外,没有任何自定义 MyUIButtons在聚焦时不接收阴影(或任何动画)。如果我将它们替换为UITextFields,它们将获得预期的默认放置阴影和动画。我可以通过添加目标并在选择按钮时打印到控制台来确认按钮是否聚焦 知道发生了什么吗,所有这些都表明,UIButton应该像其他可聚焦元素一样自动接收默认聚焦动画。这是一个bug还是我遗漏了什么 相关代码: override

我有一个tvOS的小测试应用程序——一个白色背景,有两个按钮。按钮是标准的
ui按钮
s,除了设置标题文本并将
标题颜色
设置为黑色外,没有任何自定义

My
UIButton
s在聚焦时不接收阴影(或任何动画)。如果我将它们替换为
UITextField
s,它们将获得预期的默认放置阴影和动画。我可以通过添加目标并在选择按钮时打印到控制台来确认按钮是否聚焦

知道发生了什么吗,所有这些都表明,
UIButton
应该像其他可聚焦元素一样自动接收默认聚焦动画。这是一个bug还是我遗漏了什么

相关代码:

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)

}

编辑:仅当以编程方式添加
ui按钮时才会发生这种情况-如果我在Interface Builder中添加它们,它们会正常工作。

调用
ui按钮()
初始值设定项将为您提供一个“自定义”按钮,而您真正需要的是一个“系统”按钮,如下所示:

let button = UIButton(type: .System)

自定义按钮根本没有任何内置外观,而系统按钮有。

调用
UIButton()
初始值设定项将获得一个“自定义”按钮,而您真正想要的是一个“系统”按钮,如下所示:

let button = UIButton(type: .System)
自定义按钮根本没有任何内置外观,而系统按钮有