我有一个应用程序需要根据用户偏好设置背景。用户可以随时通过设置选项卡更改此设置。我通过检查NSUserDefaults
中的viewWillAppear
并设置self.view.backgroundColor
来完成工作。这真是笨重。
正确的方法(我认为)是在根视图中设置背景,并且堆栈上的每个视图都继承背景。所以在viewDidLoad
,我有
self.view.backgroundColor = [UIColor clearColor];
我原以为这应该有效。但我得到的只是一个明确的背景。非常感谢任何指导。
答案 0 :(得分:0)
你的第一种方法是正确的。推送视图不会“超过”根视图 - 旧视图被推离屏幕(如果存在内存警告,则可以释放)。您必须在每个视图中设置背景颜色。如果要避免冗余,可以创建一个设置背景颜色的抽象超类。
答案 1 :(得分:0)
视图分层。
因此,如果在根视图之上有“视图”并且您想要“查看”根视图的背景颜色,请确保顶部的任何视图都是透明的(即不透明关闭,和/或背景 alpha 为0.0)。