it-swarm.com.ru

Как получить высоту панели вкладок программно?

Я обнаружил, что высота UITabBar составляет 49 пикселей (или 50 пикселей, в зависимости от источника).

Поскольку я не люблю использовать слишком много жестко закодированных значений в своем коде, мне было интересно, можно ли программно получить высоту панели вкладок.

С уважением,
Нильс Р.

PS: причина, по которой я спрашиваю, состоит в том, что у меня есть контроллер представления (с представлением списка, содержащим текстовые поля), который либо просто выдвигается навигационным контроллером (pushViewController), либо представлен как модальный (presentModalViewController). Как только клавиатура появляется, размер представления уменьшается, но я должен принять во внимание, что панель вкладок видна только тогда, когда контроллер представления нажат и не представлен как модальный.

50
Niels R.

Я не совсем понимаю вашу личность, но вы можете сделать:

tabBarController?.tabBar.frame.size.height
130
Mason

Если вы хотите получить стандартную высоту для элемента управления UITabBar, вы можете сделать:

    UITabBarController *tabBarController = [UITabBarController new];
    CGFloat tabBarHeight = tabBarController.tabBar.frame.size.height;
14
Federico Jordan

похорошела

CGRectGetHeight(self.tabBarController.tabBar.frame)
10
Nick Ginanto

проверьте это в вашем вк

bottomLayoutGuide.length
3
Adam Smaka

В Swift 3 вы можете получить высоту UITabBar с помощью этого кода ниже.

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

Который будет возвращать CGFloat значение высоты

3
Cyril Ivar Garcia

Если объект основан на UIView (как большинство визуальных элементов в библиотеке), вы можете получить размер из "рамки" ivar.

1
Hack Saw

UITabBar наследуется от UIView, пока у вас есть доступ к вашему экземпляру UITabBar, вы можете получить доступ и изменить фрейм UITabBar,

CGRect myRect = myTabBar.frame;
1
Jhaliya