Si consideri la seguente configurazione:iOS 8.3 modalPresentationStyle OverCurrentContext non eredita barra di stato l'aspetto e la visibilità
- Hai una semplice applicazione con un singolo
UINavigationController
sottoclasse e un singoloUIViewController
sottoclasse in esso. - L'UINavigationController sovrascrive
preferredStatusBarStyle()
metodo e restituisceUIStatusBarStyle.LightContent
- L'UIViewController ignora
prefersStatusBarHidden()
metodo e restituiscetrue
In iOS 8,0-8,2 quando un altro UINavigationController
(con un altro UIViewController che non esclude nulla) è presentato con la modalPresentationStyle
impostato su UIModalPresentationStyle.OverCurrentContext
, il controller appena presentato eredita l'aspetto e la visibilità della barra di stato.
Ma in iOS 8.3 nella stessa identica situazione - il regolatore di recente presentato non eredita la barra di stato l'aspetto e la visibilità
Un altro esempio potrebbe essere quello di presentare un'istanza di UIImagePickerController
- la stessa cosa accade per quanto riguarda lo stato aspetto della barra.
Le domande sono:
- Perché in iOS 8.3 il controller di recente presentato non eredita l'aspetto barra di stato?
- Cosa è stato modificato (non sono riuscito a trovare alcun riferimento significativo nella differenza tra iOS 8.2 e 8.3 API in merito)?
- C'è qualche soluzione elegante a questo, invece di sovrascrivere ovunque i metodi di visualizzazione e visibilità?
Ciò non ha alcun effetto su iOS 8.3+ ma invece rende iOS 8.2- a comportarsi in modo problematico come iOS 8.3+ – KoCMoHaBTa