У меня есть UITabBarController
, который содержит UINavigationController
. В пределах видимого UIViewController
я создаю UITableView
программно следующим образом:
self.voucherTableView = [[UITableView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame] style:UITableViewStylePlain];
self.voucherTableView.autoresizingMask = UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth;
Однако, UITabBar перекрывает UITableView
.
Когда я выведу высоту [[UIScreen mainScreen] applicationFrame]
, он вернет 460.00, тогда как должен быть 367.00.
В конструкторе интерфейса я использую 'Моделируемые метрики', которые автоматически устанавливают высоту вида на 367.00.
Есть ли что-то, чего мне не хватает, что бы я ни старался, я не вижу, чтобы получить нужную мне высоту 367.00.
В качестве временной поправки я установил кадр UITableView
вручную, это не совсем идеально, так что было бы неплохо выяснить, почему это не работает:
self.voucherTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 367) style:UITableViewStylePlain];