8

Sto costruendo app iOS8. Sul mio controller tableview, sto usando self.navigationController.hidesBarsOnSwipe = YES, per nascondere la barra di navigazione al passaggio del dito verso l'alto. Funziona bene, ma il mio statusBar diventa trasparente e mostra il contenuto della tabella sottostante.iOS8: Come faccio a rendere statusBar opaco dopo la navigazioneBar è nascosto usando hidesBarsOnSwipe?

Su storyboard, barra di stato sono Top Bar sono impostati su "derivato"

Voglio: 1. tengo il mio barra di stato opaco 2. Mantenere lo stesso colore delle navigationBar rotoli di contenuti 3. Tabella sotto lo statusBar

Grazie.

+0

penso che al momento non ci sia una soluzione ufficiale per questo. Devi implementare questo comportamento da solo. –

+0

possibile duplicato di [Come impedire la barra di stato dal contenuto sovrapposto con hidesBarsOnSwipe impostato su UINavigationController?] (Http://stackoverflow.com/questions/25870382/how-to-prevent-status-bar-from-overlapping-content-with -hidesbarsonswipe-set-on) –

risposta

0

È possibile aggiungere un vincolo al layout superiore, in quanto il contenuto a scorrimento non verrà visualizzato sotto la barra di stato.

2

Ecco una soluzione Swift:

In primo luogo, il cambiamento UITableViewController-UIViewController e aggiungere un campo tableView. Quindi, implementare il metodo di viewDidLoad come segue:

override func viewDidLoad() { 
    super.viewDidLoad() 
    tableView.delegate = self 
    tableView.dataSource = self 
    tableView.frame = view.frame 
    view.addSubview(tableView) 

    let topBar = UIView(frame: UIApplication.sharedApplication().statusBarFrame) 
    topBar.backgroundColor = myDesiredColor 
    view.addSubview(topBar) 
} 
0

Fai una visualizzazione personalizzata.

UIView * statusBarView =[[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, 20)]; 
statusBarView.backgroundColor=[UIColor whiteColor]; 
[self.view addSubview:statusBarView]; 
Problemi correlati