2011-08-17 14 views
6

Qualcuno può consigliarmi su come posso implementare un tipo di interfaccia utente "touch to return to call" come si vede nello screenshot qui sotto?Come aggiungere una barra in cima allo schermo dell'iPhone (sotto la barra di stato)?

enter image description here

La mia intenzione è quella di visualizzare la barra in alto quando la mia applicazione riceve una notifica.

alcuna guida o risorse su questo sarà molto apprezzato

+0

http://stackoverflow.com/questions/2666792/add-uiview-above-all-other-views-including-statusbar –

+0

@Evgeniy Shuarkov ringrazia per il collegamento. Ti capita di sapere come posso spingere la barra di navigazione sotto la sovrapposizione? Ora l'overlay coprirà la mia barra di navigazione – Zhen

+0

Penso di aver frainteso la tua domanda. Ho aggiunto una risposta con alcune varianti, spero che ciò possa essere d'aiuto. –

risposta

2

Ci sono diversi modi come è possibile inserire qualcosa sotto la barra di stato.
1. È possibile aggiungere UIView a UIWindow e posizionarlo nella barra di stato. Imposta lo stile della barra di stato su nero traslucido, in modo che la vista sottostante sia visibile. Ridimensiona rootViewController in modo appropriato, in modo che non si sovrapponga alla tua vista.
2. Inoltre, è possibile impostare la proprietà wantsFullScreenLayout di rootViewController su true, in modo che copra l'intero schermo e gestisca la gerarchia di viste al suo interno. È inoltre necessario impostare lo stile della barra di stato su nero traslucido.

In alternativa, è possibile aggiungere viste sopra la barra di stato, ma non penso che questa sia una buona esperienza utente. Ecco come è possibile farlo: Add UIView Above All Other Views, Including StatusBar

+0

Shuarkov, voglio che la mia nuova vista sia tra la barra di stato e la barra di navigazione. La nuova vista che è stata aggiunta si sovrapporrà alla barra di navigazione. Il ridimensionamento del controller di visualizzazione radice (una tabella nel mio caso) non fa nulla per regolare il posizionamento della barra di navigazione, con conseguente schermata nella mia domanda iniziale – Zhen

+0

Il tuo rootViewController è UINavigationController (la sua superview è UIWindow). Il tuo controller con tableView è solo il primo controller nello stack di navigazione. –

+0

Come hai ridimensionato UINavigationController? Sto provando a impostare il frame usando "keyWindow.rootViewController.view.frame" ma non succede nulla ... –

Problemi correlati