2016-01-14 3 views
1

У меня есть небольшое тестовое приложение для tvOS - белый фон с двумя кнопками. Кнопки являются стандартными UIButton с, без настройки, кроме настройки текста заголовка и установки titleColor на черный.tvOS - UIButton не анимируется, когда сфокусирован

Мои UIButton s не получают тень (или любую анимацию вообще), когда они становятся сфокусированными. Если я их заменю UITextField, они получат тени и анимацию по умолчанию, как ожидалось. Я могу подтвердить, что кнопки делают сфокусированы, добавляя цель и печатая на консоль, когда они выбраны.

Любая идея, что происходит? Apple's documentation, this article и this answer все предполагают, что 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) 

} 

EDIT: Это происходит только при добавлении UIButton s программно - если добавить их в Interface Builder, они правильно функционировать.

ответ

7

Вызов, который UIButton() инициализатор поможет вам кнопку «Custom», когда то, что вы действительно хотите, это кнопка «система», например, так:

let button = UIButton(type: .System) 

Пользовательские кнопки не получают никакой встроенный внешний вид на всех, в то время как кнопки системы.

Смежные вопросы