How can I create a button with a background color for tvOS while still showing focus?

前端 未结 8 1014
Happy的楠姐
Happy的楠姐 2021-01-02 05:02

All I want to do is add a background color to a button for all states. But I want to maintain the automatic focus shadow that you get \"for free\" when using a system button

8条回答
  •  余生分开走
    2021-01-02 05:19

    Override didUpdateFocusInContext method and check if next focus view is button, if yes then customize its UI, and to set it back to orignal state check context.previousFocusedView was that button, something like below

    - (void)didUpdateFocusInContext:(UIFocusUpdateContext *)context withAnimationCoordinator:(UIFocusAnimationCoordinator *)coordinator
    {
        if (context.nextFocusedView == _button)
        {
            // set background color
        }
        else if (context.previousFocusedView == _button)
        {
            // set background color to background
        }
    }
    

提交回复
热议问题