Gus*_*lad 21 uinavigationbar uinavigationcontroller ios ios7
我需要像iOS 7中的日历中的NavigationBar.
我注意到NavigationBar背后没有任何模糊.
从一个细节视图返回时.这只是NavigationBar
"正常" 的"主要".
任何人都知道如何做到这一点?
我试过这样做:
[self.navigationController.navigationBar setFrame:CGRectMake(0, 0, 320, 88)];
Run Code Online (Sandbox Code Playgroud)
但这会将标题和按钮向下移动44px.
我有另一个想法,在其下添加另一个导航栏navigationController.navigationBar
,但我在第一个导航栏下面有一行.有谁知道如何删除它?
谢谢!
我修好了它!
我在"主"NavigationBar下放置了另一个NavigationBar.删除了"主"NavigationBars阴影线.
删除NavigationBar半透明并将背景颜色设置为97%白色.(这是标准的).如果半透明是YES,当内容落后时,它看起来会很奇怪.
[self.navigationController.navigationBar setTranslucent:NO];
[self.navigationController.navigationBar setBarTintColor:[UIColor colorWithWhite:0.97 alpha:1]];
[NavigationBarExtension setTranslucent:NO];
[NavigationBarExtension setBarTintColor:[UIColor colorWithWhite:0.97 alpha:1]];
Run Code Online (Sandbox Code Playgroud)
删除该行的代码(在viewWillAppear中执行此操作:因为如果您按下其他视图控制器,该行必须返回)
- (void)viewWillAppear:(BOOL)animated {
for (UIView *view in self.navigationController.navigationBar.subviews) {
if ([view isKindOfClass:NSClassFromString(@"_UINavigationBarBackground")]) {
for (UIView *view2 in view.subviews) {
if ([view2 isKindOfClass:[UIImageView class]] && view2.frame.size.height < 1) {
[view2 setHidden:YES];
break;
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
在推送其他视图控制器时显示该行的代码:
- (void)viewWillAppear:(BOOL)animated {
for (UIView *view in self.navigationController.navigationBar.subviews) {
if ([view isKindOfClass:NSClassFromString(@"_UINavigationBarBackground")]) {
for (UIView *view2 in view.subviews) {
if ([view2 isKindOfClass:[UIImageView class]] && view2.frame.size.height < 1) {
[view2 setHidden:NO];
break;
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9016 次 |
最近记录: |