我想在我的应用程序的顶部有一个UINavigationBar,就像在手机应用程序中,但我不想使用它与UINavigationController,也就是我想使用它作为一个“独立”对象.
具有UINavigationBar的视图控制器具有.xib文件中的视图.我试图从对象库拖动一个UINavigationBar的实例,它的工作正常,但是应用程序的状态栏仍然是白色的,而UINavigationBar是灰色的.我想要状态栏具有相同的灰色调,但不是其余的视图.
告诉你我的意思,我有两张照片.第一个是手机应用程序.请注意,状态栏和导航栏为灰色,但背景为白色.
以下图片来自我的应用程序,因为您可以看到状态栏是白色的(我也希望它是灰色的).
我也试图在视图控制器中使用以下代码.
- (void)viewDidLoad { [super viewDidLoad]; self.navigationItem.title = @"Köp ProViva"; }
我尝试过它有无UINavigationBar,但是没有导航栏显示,或者看起来和以前一样.
如何添加一个UINavigationBar并且状态栏具有相同的颜色?
解决方法
您可以实现UINavigationBarDelegate协议的委托方法-positionForBar:简单地返回UIBarPositionTopAttached.
例:
-(UIBarPosition)positionForBar:(id<UIBarPositioning>)bar { return UIBarPositionTopAttached; }
//if you're not using a `UINavigationController` and instead //simply want a `UINavigationBar` then use the following method as well -(void)testMethod { UINavigationBar *navBar = [[UINavigationBar alloc] init]; [navBar setFrame:CGRectMake(0,20,self.view.frame.size.width,44)]; [navBar setBarTintColor:[UIColor lightGrayColor]]; [navBar setDelegate:self]; [self.view addSubview:navBar]; }
希望这可以帮助.