UITableView:更改选定的单元格背景颜色

Nic*_* AD 2 objective-c tvos

UITableView在tvOS上导航时,我无法更改白色背景.

为了设计目的,我在整张桌子上编辑了背景/文字颜色,因此白色选择的背景很烦人.

我试过了:

cell.selectedBackgroundView.backgroundColor = [UIColor blackColor];
Run Code Online (Sandbox Code Playgroud)

但它不会更新突出显示的背景颜色.

小智 6

tvOS使用焦点显示当前所选项目.要更改backgroundColor,请覆盖单元类中的didUpdateFocusInContext()方法.

public override func didUpdateFocusInContext(context: UIFocusUpdateContext, withAnimationCoordinator coordinator: UIFocusAnimationCoordinator) {
    context.previouslyFocusedView?.backgroundColor = UIColor.clearColor()
    context.nextFocusedView?.backgroundColor = UIColor.blackColor()
}
Run Code Online (Sandbox Code Playgroud)


Ant*_*ine 6

您可以使用focusStyle简单地禁用它:

self.focusStyle = UITableViewCellFocusStyle.Custom
Run Code Online (Sandbox Code Playgroud)

这将禁用白色背景,但也将禁用任何默认缩放动画.您应该使用自定义自己处理UITableViewCellFocusStyle.