除了标题之外,我们还可以向UINavigation Bar添加额外的UILabels吗?

slo*_*kar 4 uinavigationbar uinavigationcontroller uilabel uinavigationitem ios

我正在开发一个应用程序,我必须在UINavigation Bar上显示应用程序的状态.我将使用UILabel来显示状态.我想知道它是否可能?

此致,Sumit

tho*_*mas 7

是.要做的事情是

  • 创建要显示的视图(子类UIView),其中包含所有标签.
    • 如果您只想显示一个标签,则不需要第一步,因为您可以UILabel直接使用
  • UIBarButtonItem借助于将您的视图包裹起来initWithCustomView:myLabelsView
  • 打电话setRightBarButtonItem:animated:给你的UIBarButtonItem实例[myViewController.navigationController.navigationItem setRightBarButtonItem:myBarButtonItem animated:NO]

例:

-(void) viewDidLoad {
    ....
    UIView *myNiceLabelView = [UILabel ...];
    UIBarButtonItem *myBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:myNiceLabelView];
    [self.navigationController.navigationItem setRightBarButtonItem:myBarButtonItem animated:NO];
    ....
}
Run Code Online (Sandbox Code Playgroud)