我使用Xcode 5创建主详细信息项目。默认导航栏如下所示:
现在我创建一个新的UIViewContrller文件及其xib文件:
我在视图中添加了一个NavigationBar,并将背景颜色设置为绿色,但状态栏区域位于导航栏中。如何将其配置为MasterController导航栏显示?
答案 0 :(得分:5)
你有2个选择。
创建一个UINavigationViewController,并设置你的ViewController有UINavigationViewController的rootViewController(它会自动创建一个导航栏,上面有正确的状态栏颜色),
或者您可以保留您的navigationBar,将其Y原点设置为20,然后执行以下操作:
在.h文件中:
@interface XYZViewController : UIViewController <UIBarPositioningDelegate>
在.m文件中:
- (void)viewDidLoad {
[super viewDidLoad];
self.navigationBar.delegate = self;
}
- (UIBarPosition)positionForBar:(id<UIBarPositioning>)bar {
return UIBarPositionTopAttached;
}
编辑:如何在手机横向模式下调整栏的大小:
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
[self.navigationBar sizeToFit];
}