根据用户设置设置背景视图

Posted

技术标签:

【中文标题】根据用户设置设置背景视图【英文标题】:Setting background views depending on user settings 【发布时间】:2010-04-26 00:15:16 【问题描述】:

我有一个需要根据用户偏好设置背景的应用。用户可以随时通过设置选项卡更改此设置。我通过在viewWillAppear 中检查NSUserDefaults 并设置self.view.backgroundColor 使其工作。这真的很笨重。

正确的方法(我认为)是在根视图中设置背景,并且堆栈上的每个视图都继承背景。所以在viewDidLoad,我有

self.view.backgroundColor = [UIColor clearColor];

我原以为这应该可行。但我得到的只是一个清晰的背景。非常感谢任何指导。

【问题讨论】:

这是什么编程语言和框架? 听起来像 Objective C / Cocoa。 它在 iPhone 上,所以是 Objective C。 【参考方案1】:

您的第一种方法是正确的。推送的视图不会“越过”根视图——旧视图被推离屏幕(如果出现内存警告,可以释放)。您必须在每个视图中设置背景颜色。如果要避免冗余,可以创建一个设置背景颜色的抽象超类。

【讨论】:

【参考方案2】:

视图是分层的

因此,如果在根视图“顶部”有视图并且您想“查看”根视图的背景颜色,请确保顶部的所有视图都是透明的(即 不透明 已关闭,和/或背景 alpha 为 0.0)。

【讨论】:

以上是关于根据用户设置设置背景视图的主要内容,如果未能解决你的问题,请参考以下文章

集合视图自动调整大小和设置重复背景

如何根据用户查询数据在视图中设置动态“位置”?

根据另一个视图控制器更改 viewController BG 颜色

iOS:如何使用滑块设置自定义背景颜色?

设置 UIPickerView 行的背景颜色

如何根据设置选择在选项卡栏视图中创建动态更新的视图?