在此先感谢您的帮助。
我有一个嵌入式视图,要在多个ViewController中加载。这很好。当我尝试获取主视图的背景色时,问题就来了。 Image is VC setup
所以我尝试了各种方法。我考虑过使用userDefaults并在主VC加载时保存颜色,并从嵌入式VC中的userDefaults获取颜色,但这感觉有点不合常规。
下面的代码显然只会获得嵌入式VC中视图的颜色。我以为必须要检查超级观看内容或其他内容?
if self.view.backgroundColor!.isEqual(UIColor.White) {
print("Background is White")
} else {
print("not White")
}
我希望这是有道理的。再次感谢您的任何启发。
答案 0 :(得分:0)
如果它是根,则可以尝试
if let roo = (UIApplication.shared.delegate as! AppDelegate).window?.rootViewController {
print(roo.view.backgroundColor)
if roo.view.backgroundColor == .white {
print("Yes")
}
else {
print("No")
}
}
如果没有,您也可以创建类似的委托
class ChildVC: UIViewController {
weak var delegate:ParentVC?
}
并在父级viewDidLoad
中
if let fir = self.children.first as? ChildVC {
fir.delegate = self
}
之后,您可以使用
delegate?.view.backgroundColor