Причина, по которой вы можете использовать applicationFrame, заключается в том, что UITabBarController изменяет размеры представлений своих субконтроллеров, поэтому, пока ваше представление поддерживает правильное изменение размера, все будет работать.
Вы можете получить размер панели вкладок, открыв свойство tabBar контроллера панели вкладок и посмотрев на его рамку. Общий размер панели вкладок плюс область для просмотра можно найти, посмотрев на фрейм свойства представления контроллера панели вкладок, поэтому небольшое вычитание даст вам искомое число:
CGFloat myViewHeight = tabBarController.view .size.height
- tabBarController.tabBar.size.height;