IOS UI外观

Posted

技术标签:

【中文标题】IOS UI外观【英文标题】:IOS UIAppearance 【发布时间】:2013-06-18 15:45:35 【问题描述】:

我有以下问题。我有一个自定义的UIView,我尝试使用UIAppearance 设置它的背景。

[[OptionsHeader appearance] setBackgroundColor:[UIColor headBackgroundColor]];

但是当我这样使用它时,所有的视图都变成了黑白。

[[UIView appearance] setBackgroundColor:[UIColor headBackgroundColor]];

工作得很好,但我需要它在那个特定的类上工作得很好。

欢迎任何帮助。 亲切的问候, EZFrag

【问题讨论】:

您是否在自定义类中实现 UIAppearance 协议? 如果你想为特定的视图添加背景颜色比使用背景属性更好。 是的,我已经尝试添加 UIAppearance 协议。 哦,它不适用于特定的单个视图。该应用程序共有大约 150 个屏幕,适用于 iPhone 和 iPad。你可以看到我要去哪里以及为什么...... 【参考方案1】:

您需要在自定义类中实现UIAppearance 协议,如here 所述。基本上,您“需要”扩充您的自定义类并使用 UI_APPEARANCE_SELECTOR 对其进行注释,以定义外观委托可以与您的类交互的内容(以及方式)。

我说“需要”是因为它似乎并不真正需要,但很难确定......

【讨论】:

我试过了,但没有任何作用。我也认为没必要,UIView 已经在实现了…… 等等……我错过了一些东西……我读得很快。我会再次测试它并让你知道。但是,如果它有效,它仍然是一种愚蠢的恕我直言。

以上是关于IOS UI外观的主要内容,如果未能解决你的问题,请参考以下文章

iOS 使用UI控件的外观协议UIAppearance进行设置默认UI控件样式

iOS6 vs iOS7 外观界面生成器

什么决定了 iOS 应用程序是不是会在 iOS 7 中获得新外观

iOS 13 大型导航栏外观 + Tabbar 图像

iOS 6 vs 7 外观构建设置

保持我的 ios 应用程序在 ios6 中而不是 ios7 中的外观