2010-12-07 5 views
21

Изнутри rootController я вручную добавлять UITableView, но я не знаю, как я хотел бы получить размер кадра ...Размер рамки ниже панели навигации?

Controller *rootController = [[Controller alloc] init]; 
UINavigationController *tempNavController = [[UINavigationController alloc] initWithRootViewController:rootController]; 
[self setNavController:tempNavController]; 
[tempNavController release]; 

[window addSubview:[[self navController] view]]; 
[window makeKeyAndVisible]; 

настоящее время я использую: [[[self navigationController] view] frame], но это не учитывает «NavBar «высота или высота« statusBar »(давая мне: 480). Есть ли способ получить размер рамки ниже statusBar/navBar или мне нужно вычесть 20 + 44 от числа выше?

NB: Я использую navigationController.navigationBar.frame.size.height, чтобы получить 44

+0

Почему вы вручную устанавливаете рамку своего вида таблиц? Если вы просто добавите свой контроллер табличного представления в массив viewControllers вашего контроллера навигации, таблица автоматически будет правильно настроена для вас, и вам не нужно будет устанавливать кадр или рамки в виде таблицы. – Ryan 2010-12-07 17:39:45

+0

Да, если вы добавите таблицу и включите ее для автоматического изменения размера, она будет соответствовать по умолчанию. – gabaum10 2010-12-07 18:03:04

ответ

48

Вы можете попробовать вычесть

[UIApplication sharedApplication].statusBarFrame.size.height 

И

self.navigationController.navigationBar.frame.size.height 

От вашего

self.window.frame.size.height 

Приветствия, Rog

Смежные вопросы