在不使用图像的情况下更改iOS控件的色调/背景颜色

时间:2012-06-13 09:30:10

标签: ios cocoa-touch colors

是否可以使用UIAppearance代理(在iOS 5中)更改iOS Elements的背景颜色,特别是不使用图像的标签栏和标题栏?

我想使用深绿色渐变,但不使用图像。 iOS 5及以下版本都可以这样做吗?

2 个答案:

答案 0 :(得分:0)

嗯,你在这里问两个不同的问题,但是如果你想简单地改变色调颜色就可以这样做......

self.navigationController.navigationBar.tintColor = [UIColor colorWithRed:255 green:0 blue:0 alpha:1];
self.tabBarController.tabBar.tintColor = [UIColor colorWithRed:255 green:0 blue:0 alpha:1];

此外,如果您希望使用渐变,则可以不使用图像,但最好使用平铺图像...

self.navigationController.navigationBar.tintColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"myGradient.png"]];
self.tabBarController.tabBar.tintColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"myGradient.png"]];

答案 1 :(得分:0)

嘿,现在在iOS6中,您现在可以将UIStatusBarTintParameters密钥添加到Info.plist

来自iOS6 GM更新日志:

  

现在可以在应用的Info.plist文件中设置状态栏色调参数。您可以这样做以确保状态栏颜色在启动期间与应用程序的导航栏颜色匹配。要设置状态栏色调,请将UIStatusBarTintParameters键添加到Info.plist文件中。此键的值是一个字典,其中包含描述应用启动时导航栏的相应值。字典里面应该是UINavigationBar键,其值也是字典。该字典包含初始导航栏的样式(使用Style键)并指示它是否是半透明的(使用透明键)。您还可以指定导航栏的色调颜色(使用TintColor键)或其自定义背景图像的名称(使用BackgroundImage键)。