Come ottenere l’altezza della tabbar a livello di programmazione?

Ho scoperto che l’altezza di un UITabBar è 49px (o 50px, a seconda della fonte).

Perché non mi piace usare troppo i valori hard-coded nel mio codice mi chiedevo se è possibile recuperare l’altezza della tabbar a livello di programmazione.

Cordiali saluti,

Niels R.

PS: Il motivo che mi chiedo è perché ho un view controller (con una visualizzazione elenco contenente i campi di testo) che è semplicemente spinto dalla navigationcontroller (pushViewController) o presentata come un modale (presentModalViewController). Non appena la tastiera mostra, il formato di visualizzazione è ridotto, ma devo tener conto che la tabbar è visibile solo quando il controller di visualizzazione è spinto e non si presenta come una scelta obbligatoria.

InformationsquelleAutor Niels R. | 2011-03-22



7 Replies
  1. 131

    Io non capisco totalmente il P. S., ma si può fare:

    tabBarController?.tabBar.frame.size.height
    • Grazie. Sono felice che ho capito io, nel frattempo. A volte mi si blocca sulle cose più stupide. :p
    • Quindi qual è il risultato? 50 o 49?
    • L’altezza è di 49
    • Penso che ora è: se stesso.tabBarController?.tabBar.fotogramma.la dimensione.altezza
    • Con iPhone X che non è più il caso, e questo è molto rilevante.
  2. 14

    Se si desidera ottenere l’altezza standard per la UITabBar controllo, allora si può fare:

        UITabBarController *tabBarController = [UITabBarController new];
        CGFloat tabBarHeight = tabBarController.tabBar.frame.size.height;
    • Mi piace questa risposta. Questo è il mio preferito risposta. Mi raccomando questa risposta se si utilizza Obiettivo C
    • Questa è una cattiva risposta però.. È la creazione di un nuovo UITabBarController da zero, il che è del tutto inutile e dispendioso. Se è necessario l’altezza di una TabBar, si dovrebbe ottenere l’altezza della corrente tabBar.
    • Impressionante anche la fissa X iPhone sbagliato tabbar dimensione del problema in prima app installare.
  3. 10

    più bella

    CGRectGetHeight(self.tabBarController.tabBar.frame)
    • Grazie. E guidato da xcode 8 beta è cambiato ” lasciate che tabBarHeight = (self.tabBarController?.tabBar.frame)!.altezza’
    • occhio di chi guarda…
    • essere consapevoli della forza scartare (ie: !, questo può causare un crash
  4. 3

    In Swift 3, è possibile recuperare l’altezza del UITabBar con il codice riportato di seguito.

    self.tabBarController!.tabBar.frame.size.height

    Che restituirà un CGFloat valore dell’altezza

  5. 1

    Se un oggetto si basa su UIView (che la maggior parte degli elementi visivi in biblioteca), è possibile ottenere la dimensione da ivar “frame”.

  6. 1

    UITabBar ereditato da UIView come lungo come si mhave accesso al tuo UITabBar istanza è possibile accedere e modificare il frame di UITabBar,

    CGRect myRect = myTabBar.frame;
    • Ho un TabbarController sottoclasse, questa linea mi dà piena vista frame dire 320×480

Lascia un commento