【问题标题】:How do I add a UINavigationBar completely programmatically?如何完全以编程方式添加 UINavigationBar?
【发布时间】:2015-06-12 22:36:28
【问题描述】:

我试图弄清楚,给定一个UIViewController 子类,如何向它添加一个UINavigationBar。所有问题和答案似乎都嵌入到导航控制器中(在这种情况下不可能)或通过情节提要,但我需要完全在代码中完成。

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

【问题讨论】:

    标签: ios objective-c uiview uiviewcontroller uinavigationbar


    【解决方案1】:

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

    .....
    
    self.customNavigationBar.delegate = self;
    [self.addSubview self.navigationBar]; 
    
    ....
    
    - (UIBarPosition)positionForBar:(id<UIBarPositioning>)bar {
        return UIBarPositioningTopAttached;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多