2017-02-03 16 views
1

Как бы то ни было, независимо от запроса или количества ответов, с которыми я сталкиваюсь, я не могу найти одного человека, который может сказать, как установить цвет строки состояния в iOS с помощью Swift 3. Я видел все предложения, в которые вы добавляете:Цвет строки состояния iOS

override var preferredStatusBarStyle: UIStatusBarStyle { 
    return .lightContent 
} 

, но дело в том, что я не хочу прозрачную строку состояния. Я хочу конкретный цвет для цвета строки состояния.

+1

"Я не хочу, бар прозрачный статус" незадача. Он прозрачен (в последних версиях iOS). Когда вы примете реальность, вы можете начать прием обходных решений. – matt

ответ

1

Существует не API для установки цвета содержимого строки состояния; если вы хотите, вы должны подать запрос расширения here. Если вы хотите изменить цвет фона за в строке состояния, поместите вид с этим цветом фона в верхней части окна вашего приложения.

+0

Upvote для размещения цветного представления под строкой состояния. К сожалению, это был мой способ сделать это. – foxanna

0

Здесь Apple Guidelines/Instruction о статусе изменения строки. Только темные & свет (в то время как & черный) разрешены в строке состояния.

Вот - Как изменить статус бара стиля:

Если вы хотите установить статус стиль бара, уровень приложений, а затем установите UIViewControllerBasedStatusBarAppearanceNO в вашем .plist»файла`.

если вы тусклая установить статус стиль бара, на виде уровня контроллера, то выполните следующие действия:

  1. Установите UIViewControllerBasedStatusBarAppearance в YES в файле .plist, если вам необходимо установить статус стиль бара только на уровне UIViewController ,
  2. В viewDidLoad добавить функцию - setNeedsStatusBarAppearanceUpdate

  3. переопределения preferredStatusBarStyle в контроллере представления.

-

override func viewDidLoad() { 
    super.viewDidLoad() 
    self.setNeedsStatusBarAppearanceUpdate() 
} 

override var preferredStatusBarStyle: UIStatusBarStyle { 
    return .lightContent 
} 

Установить значение .plist согласно статуса бар стиля уровне настройки. enter image description here


Вы можете установить цвет фона для строки состояния при запуске приложения или во время viewDidLoad вашего контроллера представления.

extension UIApplication { 

    var statusBarView: UIView? { 
     return value(forKey: "statusBar") as? UIView 
    } 

} 

// Set upon application launch, if you've application based status bar 
class AppDelegate: UIResponder, UIApplicationDelegate { 

    var window: UIWindow? 

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 
     UIApplication.shared.statusBarView?.backgroundColor = UIColor.red 
     return true 
    } 
} 


or 
// Set it from your view controller if you've view controller based statusbar 
class ViewController: UIViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     UIApplication.shared.statusBarView?.backgroundColor = UIColor.red 
    } 

} 



Вот результат:

enter image description here