Wednesday 27 September 2017

Edgesforextendedlayout Barra Di Navigazione In Css


Fissaggio del iOS 7 barra di navigazione di sovrapposizione Problema C'è stato un problema che è stato affligge gli sviluppatori iOS dal momento che le barre di navigazione abbastanza trasparente è uscito in iOS 7, qualcosa che quando chiedo alle persone perché succede, non hanno assolutamente idea. Vi è una semplice correzione che ognuno ha utilizzato, ma it39s un hack e molti sviluppatori sono stati solo usando senza capire il problema. Metti che nel controller e improvvisamente funziona solo. tipo. Ora la barra di navigazione non ha un punto di essere trasparente, che sconfigge lo scopo. I punti di vista che dovrebbero essere dietro di esso, la nostra visione della radice, e it39s colore di sfondo, aren39t che mostra attraverso più. Onestamente, si potrebbe non importa, questo potrebbe essere abbastanza per voi, ma it39s importante si capisce ancora il problema, quindi continuate a leggere. Se you39ve fatto lo sviluppo del web, questo è sorta di overflow del tipo: nascosto in CSS. Il lavoro, ma it39s ancora una specie di quothackquot. Quindi il problema è che quando you39re view39s fotogrammi è impostata, a differenza di iOS 6, il telaio comprende ancora l'area sotto la barra di navigazione. Quello che si potrebbe non avere capito, è se un UIScrollView. o una sottoclasse come UITableView. è la vista principale per il controller, avrà it39s proprietà contentInset impostato correttamente, consentendo per il telaio di essere sotto la barra di navigazione, ma la vera origine si inizia attingendo è dalla parte inferiore della barra di navigazione, invece. Questo significa che possiamo in modo molto semplice risolvere il problema della barra di navigazione di sovrapposizione, rendendo la nostra radice visualizzare un UIScrollView (o sottoclasse di), invece, pur lasciando il nostro colore di sfondo trasparire. Potete fare la vostra principale visualizzare un UIScrollView definendo il metodo loadview, dove la vostra vista radice, e subviews it39s, dovrebbero essere creati se you39re creare le vostre opinioni a livello di codice. Se si prova questo fuori, you39ll ottenere questo. Si noti il ​​rosso brillante attraverso la barra di navigazione avviso che ci siamo posti che il blu origine view39s di essere nell'angolo in alto a sinistra Tutto è seduto bene e lavorando come Apple ci dovrebbe utilizzare le barre di navigazione trasparenti. Questo ha il vantaggio di dare noi un modo più semplice per espandere il nostro layout di là dello schermo troppo ora che we39re utilizzando una vista di scorrimento, ma si potrebbe non avere bisogno di questo comunque, invece si può semplicemente utilizzarlo come un sostituto per UIView che può avere it39s set contentInset. Ho guardato in haven39t le differenze di memoria per questo, ma la mia aspettativa è che sarebbe estremamente minimale. Se volete saperne di più su RubyMotion, controllare il mio screencast in motioninmotion. tv o il mio prossimo libro RubyMotion per Rails sviluppatori. che è disponibile per il pre-ordine ora, sotto un Pay What You Want modello di pricing, con la parte 1 quasi finito e dovrebbe essere rilasciato presto. RubyMotion Adventures - L'applicazione MotionInMotion BlogMy sembra essere disposti in modo corretto, ma non riesco a ottenere l'effetto traslucido sfocata che iOS 7 è famosa. La mia appare opaco. Effetto desiderato Im cercando di ottenere un effetto di sfocatura più evidente come le mele Trailers app: traslucenza Nel mio sottoclasse di UINavigationController, faccio la barra di navigazione traslucido: Tinta Colore Nel mio sottoclasse di UIApplicationDelegate, ho impostato il colore tinta della barra di navigazione. Ho scoperto che l'alfa del colore tinta fa alcuna differenza. Cioè, utilizzando un alfa di 0,1 non causerebbe la barra a diventare più trasparente. Nel mio contenuto controller della vista, ho impostato il bordo per UIRectEdgeNone in modo che il doesnt superiore ottenere tagliato fuori dalla barra di navigazione. Se dovessi usare il default UIRectEdgeAll. la barra di navigazione in modo permanente coprirebbe la parte superiore dei miei contenuti. Anche se dovessi vivere con questa anomalia, UIRectEdgeAll ancora non consentono l'effetto trasparenza. Edit: Esperimenti con bordi annuncio sottolineato da rmaddy nei commenti, il problema potrebbe essere con la edgesForExtendedLayout. Ho trovato un edgesForExtendedLayout completo tutorial e cercato di attuarlo: Non ha funzionato. In primo luogo, non vi è stato alcun effetto traslucenza. In secondo luogo, la parte superiore del mio contenuto è stato tagliato fuori. Nella seguente esempio pagina con il codice di cui sopra, l'avatar è stato inizialmente coperto dalla barra di navigazione ed è stato molto difficile per scorrere. Si potrebbe tirare verso il basso per vedere la cima del avatar, ma quando si lascia andare, la pagina sarebbe automaticamente riprendersi e l'avatar sarebbe oscurato di nuovo. chiesto 14 novembre 13 a 1:19 rmaddy. L'immagine è venuto su iPhone 5 con iOS 7.0.3 con l'impostazione animationquot sistema quotreduce spento. Utilizzando il default UIRectEdgeAll rende la parte superiore e inferiore della vista dei contenuti bloccati sotto le barre di navigazione e tab, come ho imparato da questa discussione. I39ve provato il UIRectEdgeAll di default e non fa differenza negli effetti speciali. ndash Pwner 14 novembre 13 a 1:51 Il problema è stato causato dal terzo pull-down-to-refresh vista EGORefreshTableHeaderView. che è stato comunemente usato prima di iOS 6 ha introdotto il controllo di aggiornamento del sistema. Questo punto di vista confonde iOS 7, il che rende pensare che il contenuto è più alto di quanto non sia in realtà. Per iOS 6 e 7, Ive condizionale passato a utilizzare UIRefreshControl. Ora la barra di navigazione non tagliare fuori il mio contenuto. Posso usare UIRectEdgeAll per fare il mio tenore di andare sotto la barra di navigazione. Infine, la tinta mia barra di navigazione con un alpha più bassa per ottenere l'effetto trasparenza. risposto 15 novembre 13 a 0:16

No comments:

Post a Comment