如何完全以编程方式添加 UINavigationBar?
Posted
技术标签:
【中文标题】如何完全以编程方式添加 UINavigationBar?【英文标题】:How do I add a UINavigationBar completely programmatically? 【发布时间】:2015-06-12 22:36:28 【问题描述】:我试图弄清楚,给定一个UIViewController
子类,如何向它添加一个UINavigationBar
。所有问题和答案似乎都嵌入到导航控制器中(在这种情况下不可能)或通过情节提要,但我需要完全在代码中完成。
我只是将它添加为视图控制器视图的子视图吗?在我将它固定到topLayoutGuide
之后它会变成topLayoutGuide
,这将是添加它之前的状态栏吗?或者我应该在视图控制器上设置一个我无法弄清楚的属性,而不是添加它?
【问题讨论】:
【参考方案1】:您在正确的轨道上,您只需像添加任何其他视图一样添加为子视图。状态栏的技巧是将自己设置为 navigationBar 委托并在委托方法中返回 UIBarPositioningTopAttached
.....
self.customNavigationBar.delegate = self;
[self.addSubview self.navigationBar];
....
- (UIBarPosition)positionForBar:(id<UIBarPositioning>)bar
return UIBarPositioningTopAttached;
【讨论】:
以上是关于如何完全以编程方式添加 UINavigationBar?的主要内容,如果未能解决你的问题,请参考以下文章