Как мы можем изменить глобальный цвет оттенка на iOS7/iOS8 по коду? Я хочу изменить несколько объектов, которые используют это свойство, но не изменять их, поэтому я хочу использовать свойство глобального оттенка.
Изменение глобального цвета оттенков - iOS7/iOS8
Ответ 1
Просто измените UIWindow
tintColor
в делетете приложения, он автоматически передается по умолчанию всем его потомкам UIView
.
[self.window setTintColor:[UIColor greenColor]];
Ответ 2
[[UIView appearance] setTintColor:[UIColor greenColor]];
Ответ 3
Есть два способа изменить цвет глобального оттенка. Как уже упоминалось выше, вы можете изменить self.window.tintColor
в -application:didFinishLaunchingWithOptions:
.
Более элегантным способом, на мой взгляд, является установка Global Tint в File Inspector на вашей раскадровке, пока ничего не выбрано. Таким образом, ваш -application:didFinishLaunchingWithOptions:
более чистый.
Ответ 4
Вы можете указать цвет оттенка для всего приложения, установив свойство tint. Для этого вы можете использовать код, похожий на следующий:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window.tintColor = [UIColor purpleColor];
return YES;
}
Ответ 5
Обновлено для Swift 2.2
Вы можете сделать это в любом месте:
// Get app delegate
let sharedApp = UIApplication.sharedApplication()
// Set tint color
sharedApp.delegate?.window??.tintColor = UIColor.green()
Или, если вы пытаетесь сделать это из AppDelegate,
//self.window?.tintColor = UIColor.green()