我在弹出窗口中包含了一个导航控制器。该视图包含一个我想部分覆盖的图像。在 iOS6 中是在导航栏的后面,在 ios7 中正好相反。附上截图。有谁知道为什么?
问问题
1853 次
3 回答
1
使用自动布局约束:http ://www.raywenderlich.com/50317/beginning-auto-layout-tutorial-in-ios-7-part-1
或者试试这个(没有优雅的解决方案):
NSString *ver = [[UIDevice currentDevice] systemVersion];
float ver_float = [ver floatValue];
if (ver_float >= 7.0f)
{
CGRect frame = self.myView.frame;
frame.origin.y = self.navigationBar.frame.size.height;
[self.myView setFrame:frame]
}
于 2013-10-31T09:35:21.847 回答
0
如果不需要导航栏半透明,可以试试navigationBar.isTranslucent = NO。
于 2013-11-10T19:21:02.393 回答
0
在 iOS 7 中,默认情况下布局会扩展容器的边缘。这是edgesForExtendedLayout
视图控制器属性的控制器。如果您希望布局以与导航栏对齐的顶部开始,您需要通过设置禁用它self.edgesForExtendedLayout
。
例如:
- (id)init
{
if ((self = [super init])) {
// layout with top of view starting at bottom of navigation bar
self.edgesForExtendedLayout = UIRectEdgeNone;
// continue with init
}
}
于 2013-12-13T01:41:09.300 回答