Ответ 1
Вы можете попробовать вычесть
[UIApplication sharedApplication].statusBarFrame.size.height
и
self.navigationController.navigationBar.frame.size.height
Из
self.window.frame.size.height
Cheers, Рог
Изнутри 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
Вы можете попробовать вычесть
[UIApplication sharedApplication].statusBarFrame.size.height
и
self.navigationController.navigationBar.frame.size.height
Из
self.window.frame.size.height
Cheers, Рог
safeAreaLayoutGuide Когда вид отображается на экране, это руководство отражает часть вида, которая не покрыта панелями навигации, панелями вкладок, панелями инструментов и другими видами предков. (В tvOS безопасная область отражает область, не покрытую рамкой экрана.) Если вид в настоящее время не установлен в иерархии видов или еще не виден на экране, края направляющих макета равны краям вида.
Таким образом, вы можете использовать:
self.safeAreaLayoutGuide.layoutFrame