我正在使用objective-c开发一个应用程序,并在该应用程序中将navigationBar设置为半透明(通过IB)。但问题是导航栏后面显示的视图。
还有其他人尝试使用半透明导航栏吗?
问候
贾雅拉杰
答案 0 :(得分:1)
从OS 3.0开始,[navigationController视图]自动调整为“underlap”半透明导航栏
您可以简单地将44个像素添加到origin属性的y值以克服此问题。
答案 1 :(得分:0)
如果您知道自己是肖像(不是横向,其中导航栏的高度小于44),您可以使用44
你也可以这样做:
// applicationFrame subtracts the height of the statusBar if it's visible.
// bounds doesn't take into account the statusBar.
CGRect navFrame = [[UIScreen mainScreen] applicationFrame];
NSLog(@"navFrame: %f x %f", navFrame.size.width, navFrame.size.height);
navFrame.size.height -= self.navigationController.navigationBar.frame.size.height;
NSLog(@"navFrame: %f x %f", navFrame.size.width, navFrame.size.height);
UIImageView *imageView = [[UIImageView alloc] initWithFrame:navFrame];
NSLog(@"imageView: %@", imageView);
我从阅读three20的源代码中学到了这一点。你可以在github.com上找到它
马特