Popover ridimensionamento in modo irregolare
-
26-09-2019 - |
Domanda
Ho un UITabBarController all'interno di un UIPopoverController, che io sono la visualizzazione esclusivamente da un UIBarButtonItem. Quando mi hanno mostrato Voglio che il popover a riprendere l'altezza verticale massima consentita. Funziona bene se si tocca per visualizzarla, quindi respingere, e quindi ruotare. Tuttavia, se ho la popover visualizzata nel paesaggio, e poi ruotare per ritratto, non è più riempirà l'intera distanza verticale. Ho proprietà di dimensione contenuto del controller barra delle schede impostato a 320 per 1000, e ho anche provato a ripristinare questo ogni volta la rotazione del dispositivo. Peggio ancora, quando l'utente attiva la barra di ricerca del popover si restringe fino estremamente piccolo, e rimane in questo modo fino a quando l'applicazione viene riavviato.
http://cl.ly/3JdC per http://cl.ly/3JdC
Come posso fermare questo, e hanno il popover sempre riempire la dimensione massima verticale?
Soluzione
Stavo avendo lo stesso problema e scoperto che avviene solo quando presento la UIPopoverController
utilizzando il metodo:
- (void)presentPopoverFromBarButtonItem:(UIBarButtonItem *)item permittedArrowDirections:(UIPopoverArrowDirection)arrowDirections animated:(BOOL)animated
ma funziona bene quando uso:
- (void)presentPopoverFromRect:(CGRect)rect inView:(UIView *)view permittedArrowDirections:(UIPopoverArrowDirection)arrowDirections animated:(BOOL)animated
Purtroppo UIBarButtonItem
non ha un telaio Rect è possibile utilizzare con questo ultimo metodo così la mia difficoltà era di usare il telaio del UIToolbar
e modificare frame.origin.x
e frame.size.width
di conseguenza per rendere la popover apparire sul posto proprio accanto alla UIBarButtonItem.
Speriamo che Apple risolverà questo nelle prossime versioni di iOS.
Saluti