Я пытаюсь провести горизонтальную линию через середину экрана приложения с панелью навигации. Вот мой текущий код, чтобы сделать это:Objective-C - рисование горизонтальной линии через середину экрана
CGFloat screenWidth = self.view.frame.size.width;
CGFloat screenHeight = self.view.frame.size.height;
CGFloat navigationBarHeight = self.navigationController.navigationBar.frame.size.height;
CGFloat lineThickness = 3;
UIView *horizontalLine = [[UIView alloc] initWithFrame:CGRectMake(0, (screenHeight - navigationBarHeight)/2, screenWidth, lineThickness)];
[self.view addSubview:horizontalLine];
Я использовал очень похожий расчет, чтобы нарисовать вертикальную линию - и это работало нормально. Но проблема в том, что независимо от устройства эта горизонтальная линия оказывается слишком низкой на экране примерно на 10 пикселей. Есть ли смещение, которое я могу потерять? Возможно, что-то связано с навигационной панелью?
Вы имеете в виду высоту строки состояния? – Wain
Я имею в виду навигационную панель, которая поступает с помощью навигационного контроллера –