I (proprio come tutti gli altri qui) sto correndo nella stessa barra di stato problema di sovrapposizione che tutti gli altri sono, con una piccola svolta, ed è per questo che apro una nuova domanda su questo.UISearchBar si sovrappone alla barra di stato in iOS
Sembra esserci un meccanismo che consente a UISearchBar di sapere dove posizionarsi, che è totalmente da fuori whack.
jaredsinclair answer here (iOS 7 status bar back to iOS 6 default style in iPhone app?), spiega in modo dettagliato come gli ingegneri Apple ci permettono di introdurre la logica della nostra applicazione al fine di integrarsi il più possibile con l'ambiente dell'utente.
Ho esaminato attentamente ogni UIViewController nella mia applicazione e ho apportato la minima modifica possibile.
Nella maggior parte dei casi sono stato in grado di risolvere il problema usando il codice seguente che ho trovato dall'altra parte più risposte SO
// Do any additional setup after loading the view.
if ([self respondsToSelector:@selector(edgesForExtendedLayout)]){
self.edgesForExtendedLayout = UIRectEdgeNone;
}
Questo però non avrebbe funzionato, non importa quello che faccio in una particolare vista in cui l'UINavigationBar è nascosto.
Sulla base della soluzione trovata in così ho potuto risolvere questo problema aggiungendo il seguente pezzo di logica per questo particolare UIViewController
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
CGRect statusBarFrame = [[UIApplication sharedApplication] statusBarFrame];
viewFrame.origin.y = viewFrame.origin.y+statusBarFrame.size.height;
}
Ciò spinge l'UIViewController n pixel giù "dipendente" dall'altezza della barra di stato.
L'effetto di questo è mostrare qui
Il problema è che quando entro il campo di ricerca l'UISearchBar aggiunge di per sé un'imbottitura 20px sulla parte superiore, che compensa l'intera interfaccia utente.
Questo mi porta alla conclusione che l'UISearchBar cerca di adattarsi, e per coincidenza che si adatti in sé lo stesso importo esatto come l'altezza della barra di stato.
Se non eseguo l'hacking della posizione, una volta inserito il campo di ricerca, questa regolazione automatica allinea ordinatamente UISearchBar sotto la barra di stato.
Spero di aver dettagliato la mia confusione, mi chiedo se qualcuno abbia qualche idea per una soluzione.
Qualche fortuna su questo problema? Sto avendo lo stesso identico problema. Ho notato nei tuoi screenshot che stai usando una sorta di Slide Out Nav. Controller. Lo sono anch'io, forse è parte del problema? – Chilly
Ciao purtroppo, purtroppo nessuna soluzione, ma la prossima settimana inizieremo un'altra iterazione dell'interfaccia utente e cercherò di approfondire questo problema, poiché al momento siamo rilasciati con quella seccatura, ti terrò posto –