Nel mio bar UINavigation aggiunto a un XIB con un numero di UIViews il posizionamento della voce pulsante della barra a destra ea sinistra è fuori strada:UIBarButton Punto sul bordo dello schermo in iOS 8, quando utilizzato in standalone vista
La vista in XIB ha semplicemente una presa per un controller di visualizzazione, ma non è la vista principale. E 'dimostrato tramite:
[UIView transitionFromView:self.view toView:self.settingsView duration:0.2 options:UIViewAnimationOptionTransitionFlipFromLeft completion:NULL];
ho un'altra visione più semplice che è direttamente legato alla proprietà vista di un controller della vista, che - come previsto - sembra proprio normale.
Tutti i punti di vista hanno layout automatico. I vincoli vanno bene. Ho provato un certo numero di cose diverse, ma non sono riuscito a trovare una soluzione (o una ragione, se è per questo). La barra di navigazione e gli elementi sono semplici elementi del pulsante della barra di vaniglia senza nulla come i proxy di apparenza ecc ...
Nella simulazione 7.1, tutto sembra normale.
Qualcuno ha visto questo prima?
Grazie
[EDIT]
ho trovato una soluzione, ma non la ragione:
Se invece di
[UIView transitionFromView:self.view toView:self.settingsView duration:0.2 options:UIViewAnimationOptionTransitionFlipFromLeft completion:NULL];
che aggiunge la nuova vista come una visualizzazione secondaria della UIWindow,
utilizzare:
[UIView transitionWithView:self.view duration:0.2 options:UIViewAnimationOptionTransitionFlipFromLeft animations:^{
[self.view addSubview:self.settingsView];
} completion:nil];
che aggiunge la nuova vista come vista secondaria della vista UIViewControllers esistente, tutto è a posto.
Mi chiedo se questo un bug e UINavigationBars rendono in un modo strano, se contenuta in una vista che viene dinamicamente aggiunta alla finestra ...
Stesso problema. Ho una visualizzazione personalizzata e animata da visualizzare, ma gli elementi sinistro e destro toccano entrambi i bordi. – Geekoder
Secondo i documenti, 'transitionFromView: toView: duration: options: completion:' per default sostituisce 'fromView' con' toView'. La tua soluzione aggiunge invece una sottoview. Questa potrebbe essere la differenza che causa il problema in particolare 'FromView' è la vista del controller – Aris