ios – UINavigationBar没有UINavigationController

前端之家收集整理的这篇文章主要介绍了ios – UINavigationBar没有UINavigationController前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在我的应用程序的顶部有一个UINavigationBar,就像在手机应用程序中,但我不想使用它与UINavigationController,也就是我想使用它作为一个“独立”对象.

具有UINavigationBar的视图控制器具有.xib文件中的视图.我试图从对象库拖动一个UINavigationBar的实例,它的工作正常,但是应用程序的状态栏仍然是白色的,而UINavigationBar是灰色的.我想要状态栏具有相同的灰色调,但不是其余的视图.

告诉你我的意思,我有两张照片.第一个是手机应用程序.请注意,状态栏和导航栏为灰色,但背景为白色.

以下图片来自我的应用程序,因为您可以看到状态栏是白色的(我也希望它是灰色的).

我也试图在视图控制器中使用以下代码.

@H_301_10@- (void)viewDidLoad { [super viewDidLoad]; self.navigationItem.title = @"Köp ProViva"; }

我尝试过它有无UINavigationBar,但是没有导航栏显示,或者看起来和以前一样.

如何添加一个UINavigationBar并且状态栏具有相同的颜色?

解决方法

您可以实现UINavigationBarDelegate协议的委托方法-positionForBar:简单地返回UIBarPositionTopAttached.

例:

@H_301_10@-(UIBarPosition)positionForBar:(id<UIBarPositioning>)bar { return UIBarPositionTopAttached; } @H_301_10@//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]; }

希望这可以帮助.

猜你在找的iOS相关文章