Зададох лентата на състоянието на светло съдържание, като зададох view-controller based status bar
в Info.plist на No
, тъй като използвам тъмен цвят за лентата за навигация. Успях да задам цвета на лентата за навигация и цвета и шрифта на елемента на бутона на лентата, използвайки следния код в AppDelegate.swift
-
UIApplication.sharedApplication().statusBarStyle = UIStatusBarStyle.LightContent
UINavigationBar.appearance().barTintColor = UIColor.darkGrayColor()
UINavigationBar.appearance().translucent = false
if #available(iOS 8.2, *) {
UIBarButtonItem.appearance().setTitleTextAttributes([NSFontAttributeName : UIFont.systemFontOfSize(16.0, weight: UIFontWeightThin)], forState: UIControlState.Normal)
UINavigationBar.appearance().titleTextAttributes = [NSFontAttributeName : UIFont.systemFontOfSize(23.0, weight: UIFontWeightThin), NSForegroundColorAttributeName: UIColor.whiteColor()]
} else {
// Fallback on earlier versions
}
if #available(iOS 9.0, *) {
UIBarButtonItem.appearanceWhenContainedInInstancesOfClasses([UINavigationBar.self]).tintColor = UIColor.whiteColor()
UIBarButtonItem.appearanceWhenContainedInInstancesOfClasses([UINavigationBar.self]).setTitleTextAttributes([NSFontAttributeName : UIFont.systemFontOfSize(16.0, weight: UIFontWeightThin)], forState: UIControlState.Normal)
} else {
// Fallback on earlier versions
}
имам няколко проблема по-долу: -
- Не мога да задам цвят на лентата за навигация за активност на споделяне - Skype, входяща кутия (приложение за поща на Gmail) на
UIActivityViewController
- Не може да се зададе barButtonItem, напр. „Отказ“ на шрифт и размер с помощта на
UIBarButtonItem.appearanceWhenContainedInInstancesOfClasses([UINavigationBar.self]).setTitleTextAttributes([NSFontAttributeName : UIFont.systemFontOfSize(16.0, weight: UIFontWeightThin)], forState: UIControlState.Normal)
Опитах се да напиша същия код в блока за завършване за UIActivityViewController
, но нищо не работи.
Когато избера чат от „Последни чатове“ при споделяне на whatsapp, цветът на барбутонита става син по подразбиране – Вижте Моментна снимка
Преди всичко решенията, които използвах, поддържат iOS версия 8.0, 8.2 или по-нова. Искам да постигна същото за версии, започващи от 7.0 или 7.1. Как мога да го направя ?