2013-09-27 11 views
9

Mi interessa implementare il menu a sinistra nella mia applicazione. Ho usato NVSlideMenuController per questo. e funziona bene.vuole implementare il menu laterale scorrevole con barra di stato scorrevole anche. in iOS

Ma voglio modificarlo. Voglio far scorrere la barra di stato con contentViewController e non voglio barra di stato su MenuViewController.

momento che sarà simile al di sotto dell'immagine

enter image description here

e voglio stessi sotto delle immagini

enter image description here

Grazie in anticipo

+1

Spostare la barra di stato può essere "spostato" a tutti gli effetti, ma solo attraverso qualche manipolazione. Vedi [questo post SO] (http://stackoverflow.com/a/19011013/2740693) –

+1

possibile duplicato di [Spostamento barra di stato in iOS 7] (http://stackoverflow.com/questions/19007694/moving-status- bar-in-ios-7) – codercat

risposta

11

si può cercare di spegnere il 3G seconda immagine in poi, si noterà che la barra di stato non si aggiornava.

sembra una nuova API in iOS7

[[UIScreen mainScreen] snapshotViewAfterScreenUpdates:NO]; 

Questa potrebbe essere la stessa domanda che chiedi, e c'è una demo per mostrare quello che vuoi.

Moving status bar in iOS 7

1

Tu non stai andando a essere in grado di spostare la barra di stato. Il meglio che puoi fare è nasconderla per questo controller di vista:

- (void) viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 

    if (animated) 
    { 
     [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide]; 
    } 
    else 
    { 
     [[UIApplication sharedApplication] setStatusBarHidden:YES]; 
    } 
} 

- (void) viewWillDisappear:(BOOL)animated 
{ 
    [super viewWillDisappear:animated]; 

    if (animated) 
    { 
     [[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:UIStatusBarAnimationSlide]; 
    } 
    else 
    { 
     [[UIApplication sharedApplication] setStatusBarHidden:NO]; 
    } 
} 

Prova a giocare con i diversi valori di UIStatusBarAnimation per vedere qual è quella ottimale. Esistono tre valori: UIStatusBarAnimationNone, UIStatusBarAnimationFade e UIStatusBarAnimationSlide`.

+0

hai visto l'applicazione della casella di posta in cui la barra di stato scorre mentre si apre il menu a sinistra. e voglio le stesse cose. – Pratik

+0

Esiste una proprietà su UIApplication denominata statusBarFrame ([[UIApplication sharedApplication] .statusBarFrame). Si può provare a renderlo in un contesto immagine CG e creare una vista immagine con quell'immagine, quindi nascondere la barra di stato e spostare la vista dell'immagine.Ciò "falsificherà" lo spostamento della barra di stato, ma non visualizzerà il contenuto dinamico. – paulrehkugler

+0

Oppure potresti provare hitTest: -ing per cercare di ottenere la vista della barra di stato. Questa è una cosa che probabilmente Apple non vuole che tu faccia, quindi sarà difficile. – paulrehkugler

2

Si può essere in grado di fare questo concatenamento telaio del keyWindow (è possibile ottenere questo con [[UIApplication sharedApplication] keyWindow] (UIWindow è una sottoclasse di UIView). Questo dovrebbe spostare tutto a destra, e potrebbe essere necessario fare un altro UIWindow per portare altre cose sul da sinistra.

0

Questa non è una risposta, ma una risposta alla risposta di James, perché le interruzioni di formattazione commento.

Il fatto è che l'impostazione del frame della chiave Window non sarà in grado di spostare la barra di stato. Impostando un punto di interruzione e stampando la descrizione ricorsiva di KeyWindow, noteremo che non ci sono informazioni sulla barra di stato all'interno.

(lldb) po [[[UIApplication sharedApplication] keyWindow] recursiveDescription] 
<UIWindow: 0x8c5bf80; frame = (0 0; 320 480); gestureRecognizers = <NSArray: 0x8c5c500>; layer = <UIWindowLayer: 0x8c5c0a0>> 
    | <UIView: 0x8b49700; frame = (0 0; 320 480); autoresize = W+H; layer = <CALayer: 0x8b496b0>> 
(lldb) 

Segui Chris's link per Simon's risposta fa il lavoro

Problemi correlati