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