如何以编程方式完全添加UINavigationBar?

时间:2015-06-12 22:36:29

标签: ios objective-c uiview uiviewcontroller uinavigationbar

我试图找出一个UIViewController子类,如何向它添加UINavigationBar。所有问题和答案似乎要么嵌入导航控制器(在这种情况下不可能)或通过故事板,但我需要在代码中完全完成。

我只是将其添加为视图控制器视图的子视图吗?将它固定到topLayoutGuide之后它会变为topLayoutGuide,在添加之前它会是状态栏吗?或者我应该在视图控制器上设置一个我无法弄清楚的属性,而不是添加它?

1 个答案:

答案 0 :(得分:0)

您在正确的轨道上,您只需像任何其他视图一样添加为子视图。状态栏的技巧是将自己设置为navigationBar委托并在委托方法中返回UIBarPositioningTopAttached

.....

self.customNavigationBar.delegate = self;
[self.addSubview self.navigationBar]; 

....

- (UIBarPosition)positionForBar:(id<UIBarPositioning>)bar {
    return UIBarPositioningTopAttached;
}