【发布时间】:2015-01-17 19:48:11
【问题描述】:
我正在尝试在具有导航栏的应用的屏幕中间绘制一条水平线。这是我当前的代码:
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 个像素。是否有我可能缺少的偏移量?也许与导航栏有关?
【问题讨论】:
-
你是说状态栏高度?
-
我的意思是使用导航控制器的导航栏
标签: ios objective-c cgrectmake