我需要将iphone应用程序中的所有导航栏颜色从浅绿色更改为深灰色,这是最简单的方法吗?有一个简单的方法还是我必须逐个去?我有近100个视图,这将非常耗时。非常感谢任何帮助。
答案 0 :(得分:1)
您正在寻找UIAppearance
,它可以让您一次更改所有未来的事件。
https://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIAppearance_Protocol/Reference/Reference.html#//apple_ref/doc/uid/TP40010906
答案 1 :(得分:1)
使用像这样的外观代理:
UINavigationBar *navBarAppearance = [UINavigationBar appearance];
navBarAppearance.tintColor = [UIColor darkGrayColor];
将此代码放在应用程序启动序列的某处。它会设置您创建的所有UINavigationBar
实例的色调,甚至是现有的实例(可能需要重新绘制或重新绘制)。
在受支持的类上调用[<class> appearance]
将返回该类的特殊实例(实际上它可能是完全不同的类,但这并不重要)。您可以在此实例上调用方法,这些方法标记为外观选择器。在文档中,它们通常在“自定义外观”部分中列出。如果您调用任何其他方法,您可能会遇到异常。
这是来自UINavigationBar
文档的摘录,其中包含受支持的外观方法:
自定义栏外观
tintColor – backgroundImageForBarMetrics: – setBackgroundImage:forBarMetrics: – titleVerticalPositionAdjustmentForBarMetrics: – setTitleVerticalPositionAdjustment:forBarMetrics: titleTextAttributes
许多其他类都支持此协议。