0

我需要将 iphone 应用程序上的所有导航栏颜色从绿色更改为深灰色,最简单的方法是什么?有没有简单的方法或者我必须一个一个地去?我有近 100 个视图,这将非常耗时。任何帮助将不胜感激。

4

2 回答 2

1

您正在寻找UIAppearance它可以让您一次更改事物的所有未来实例。 https://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIAppearance_Protocol/Reference/Reference.html#//apple_ref/doc/uid/TP40010906

于 2013-06-27T17:50:51.440 回答
1

像这样使用外观代理:

UINavigationBar *navBarAppearance = [UINavigationBar appearance];
navBarAppearance.tintColor = [UIColor darkGrayColor];

将此代码放置在应用程序启动序列的某个位置。它将设置您创建的所有实例UINavigationBar的色调颜色,甚至是现有实例的色调颜色(可能需要一些重绘或什么)。

调用[<class> appearance]支持的类将返回该类的特殊实例(实际上它可能是完全不同的类,但这没关系)。您可以在此实例上调用标记为 Appearance Selectors 的方法。在文档中,它们通常列在“自定义外观”部分。如果您调用任何其他方法,您可能会遇到异常。

UINavigationBar这是从具有支持的外观方法的文档中提取的:

自定义栏外观

  tintColor
– backgroundImageForBarMetrics:
– setBackgroundImage:forBarMetrics:
– titleVerticalPositionAdjustmentForBarMetrics:
– setTitleVerticalPositionAdjustment:forBarMetrics:
  titleTextAttributes

许多其他类支持此协议。

于 2013-06-27T18:08:48.167 回答