UIControl在tvOS上发生了哪些事件?

Ste*_*ell 5 tvos

有了UIButton,当按钮获得焦点并且用户点击遥控器时,tvOS会产生UIControlEvents.PrimaryActionTriggered(.TouchUpInside不像在iOS上那样).

UIControl"似乎■不要产生任何但是这些事件.事实上,当用户专注于控制并点击遥控器时,我看不出它会产生任何事件.

如何使用UIControltvOS 的自定义?

rob*_*off 5

AUIControl不会自行发出任何控制事件。您的子类负责发出事件(通常通过发送自己sendActionsForControlEvents:)。

由于UIControl目前没有针对 tvOS 进行记录,因此 Apple 可能不希望您对其进行子类化。

无论如何,我只玩了一点,但显然要实现你自己的UIControl子类,你必须重写canBecomeFocusedreturn YES,并且你必须重写pressesEnded:withEvent:以对用户的新闻采取行动(大概是通过发送你自己sendActionsForControlEvents:.)。

您可能还想覆盖pressesBegan:withEvent:以突出显示您的控件。

因为UIControl符合UIFocusEnvironment协议(通过UIView),您可以重写didUpdateFocusInContext:withAnimationCoordinator:以根据它是否具有焦点来更新控件的外观。