Подтвердить что ты не робот

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

Я выяснил, что высота UITabBar равна 49px (или 50px, в зависимости от источника).

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

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

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

4b9b3361

Ответ 1

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

tabViewController.tabBar.frame.size.height

Ответ 2

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

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

Ответ 3

красивее

CGRectGetHeight(self.tabBarController.tabBar.frame)

Ответ 4

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

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

Что вернет значение CGFloat высоты

Ответ 5

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

Ответ 6

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

CGRect myRect = myTabBar.frame;

Ответ 7

проверьте это в своем vc

bottomLayoutGuide.length