Программная настройка контента для заполнения экрана между панелью вкладок и навигационным контроллером

У меня есть UIwebview, который я хочу заполнить экраном между панелью навигации вверху и панелью вкладок внизу. Мое веб-представление определяется программно, и я инициализировал его фреймом, как показано ниже.

Мне удалось получить желаемое поведение путем жесткого кодирования некоторых значений, но я видел, что это работает не на всех устройствах. В частности, кажется, что разные ОС могут рассматривать (0,0) как разные точки на экране (верхний левый угол экрана для некоторых и самый верхний левый угол под панелью навигации для других).

Мой вопрос: как мне установить положение и размер веб-просмотра, чтобы заполнить экран на всех устройствах? И может ли кто-нибудь объяснить, почему это не ведет себя так, как я думаю, должно?

//iphone 5s running iOS 8
webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, screenWidth, screenHeight+20)];
//iphone 5 running iOS 7
webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 64, screenWidth, screenHeight-93)];
//what i thought would work for all, but doesnt fill the height of the screen...
webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, screenWidth, screenHeight)];

person Voltron    schedule 06.11.2014    source источник
comment
Какие значения screenHeight вы взяли? установите кадр следующим образом: CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)   -  person Suresh Thoutam    schedule 06.11.2014
comment
Я использовал ниже, чтобы получить эти значения. Ваше решение, похоже, работает! В чем разница? Если вы опубликуете это как ответ, я буду рад отметить его как правильный. int screenWidth = [[UIScreen mainScreen] applicationFrame].size.width; int screenHeight = [[UIScreen mainScreen] applicationFrame].size.height;   -  person Voltron    schedule 06.11.2014