Ios 如何使用自动布局修复UINavigationBar标题

Ios 如何使用自动布局修复UINavigationBar标题,ios,objective-c,Ios,Objective C,您好,我是ios新手,在我的项目中,我需要使用自动布局添加UINavigationBar标题,为此,我已使用自动布局在后台类中编写了我的所有UInavigation bar标题属性,但当我运行显示异常的程序时,请帮助我 我的主要班级:- 我的背景课:- 你们可以在ViewDidLoad或VIEWWILLEXPEND方法中使用下线设置标题视图 [self.navigationItem setTitleView:YourView] 在这里,您可以将视图设置为UILabel、UIImageView、U

您好,我是ios新手,在我的项目中,我需要使用自动布局添加UINavigationBar标题,为此,我已使用自动布局在后台类中编写了我的所有UInavigation bar标题属性,但当我运行显示异常的程序时,请帮助我

我的主要班级:- 我的背景课:-
你们可以在ViewDidLoad或VIEWWILLEXPEND方法中使用下线设置标题视图

[self.navigationItem setTitleView:YourView]

在这里,您可以将视图设置为UILabel、UIImageView、UIButton等

不要将标签添加为UINavigationBar的子视图

对不起,我弄错了,请以您的背景课程为例
不要将BackGroundClass作为UIViewController或任何控制器它必须是一个简单的UIView在您的情况下…
我看到BackGroundClass有ViewDiLoad它令人惊讶…

我是ios的初学者,这就是为什么我会这样写如果您知道解决方案,请帮助我当我调用我的background class方法时,它会显示异常Hey不要将后台类作为ViewController之一,在您的情况下,它必须是UIView@HiteshBoricha是对的…所以你说需要把后台类作为UIview安装的UIViewControllersee我已经编辑了我的代码,但例外情况仍在发生
#import "ViewController.h"

@interface ViewController (){

    Back * bg;
    UINavigationController * bar;
}

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    bg = [[Back alloc]init];

    self.navigationItem.titleView = [bg NavigationBar:bar];
}
   #import "Back.h"

@implementation Back

UILabel * middle;
UILabel * left;
UILabel * right;
NSDictionary * viewsDic;
UINavigationController * MainnavigationBar;

-(UILabel*)NavigationBar :(UINavigationController*)navigationBar{

    MainnavigationBar = navigationBar;

    middle = [[UILabel alloc]init];
    middle.backgroundColor = [UIColor orangeColor];
    middle.translatesAutoresizingMaskIntoConstraints = NO;
    [MainnavigationBar.navigationBar addSubview:middle];

    viewsDic = NSDictionaryOfVariableBindings(middle);

    [MainnavigationBar.navigationBar addConstraint:[NSLayoutConstraint constraintWithItem:middle
                                                                                attribute:NSLayoutAttributeCenterX
                                                                                relatedBy:NSLayoutRelationEqual
                                                                                   toItem:MainnavigationBar.navigationBar
                                                                                attribute:NSLayoutAttributeCenterX
                                                                               multiplier:1
                                                                                 constant:0]];

    [MainnavigationBar.navigationBar addConstraint:[NSLayoutConstraint constraintWithItem:middle
                                                                                attribute:NSLayoutAttributeCenterY
                                                                                relatedBy:NSLayoutRelationEqual
                                                                                   toItem:MainnavigationBar.navigationBar
                                                                                attribute:NSLayoutAttributeCenterY
                                                                               multiplier:1
                                                                                 constant:0]];

    [MainnavigationBar.navigationBar addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:[NSString stringWithFormat:@"H:[middle(2)]"]
                                                                                            options:0
                                                                                            metrics:nil
                                                                                              views:viewsDic]];

    [MainnavigationBar.navigationBar addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:[NSString stringWithFormat:@"V:[middle(30)]"]
                                                                                            options:0
                                                                                            metrics:nil
                                                                                              views:viewsDic]];


    return middle;
}

@end