TVOS light dark
override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?)
{
    super.traitCollectionDidChange(previousTraitCollection)
// Is userInterfaceStyle available?
guard(traitCollection.response(to: #selector(getter: UITraitCollection.userInterfaceStyle)))
  else{ return}
guard(traitCollection.userInterfaceStyle != previousTraitCollection?.userInterfaceStyle)
  else{ return}
}class AppearanceViewController: UIViewController
{
 var style: UIUserInterfaceStyle = /light
override init(nibName nibNameOrNil: String?, bundle nibNameOrNil: Bundle?){...}
required init?(coder aDecoder: NSCoder) {...}
var viewController: UIViewController
{
  get {return self}
  set {
  //override trait collection
 let traitCollection = UITraitCollection(userInterfaceStyle: style)
 self.setOverrideTraitCollection(traitCollection, forChildViewController: newValue)
 //add child view controller
 self.addChildViewController(newValue)
 newValue.view.frame = view.bounds
 self.view.addSubview(newValue.view)
 newValue.didMove(toParentViewController: self)
  }
}
}to tvos10
info.plist
user Interface style => automatic
storyboard
Interface Builder Document
v use Trait Variations
App delegate
.. didFinishLaunchingWithOptions ..
let light = UITraitCollection(userInterfaceStyle:.light)
let backgroundColor = UIColor(white:1 alpha:  0.5)
UICOllectionViewCell.forTraitCollection(light).backgroundColor = backgroundColor
let dark = UITraitCollection(userInterfaceStyle:.dark)
let darkbackgroundColor = UIColor(white:0.2 alpha:  0.8)
UICOllectionViewCell.forTraitCollection(dark).backgroundColor = darkbackgroundColorin VC
override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?)
{
    super.traitCollectionDidChange(previousTraitCollection)
// Is userInterfaceStyle available?
guard( traitCollection.responds(to: #selector(getter: UITraitCollection.userInterfaceStyle)))
  else{ return}
guard(traitCollection.userInterfaceStyle != previousTraitCollection?.userInterfaceStyle)
  else{ return}
}
if traitCollection.userInterfaceStyle == .dark
{
..do this
}
else
{
..do that
}