搜了好多网上资料,有一个方法用了一段时间,但是在部分机型上 会出错,
[self.navigationItem.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(SCREEN_WIDTH-32);
}];
最后一阵摸索,如下方法可使用,暂时没发现问题
1.自定义一个NavTitleView,增加一个 属性,并设置返回值
@property(nonatomic, assign) CGSize intrinsicContentSize;
- (CGSize)intrinsicContentSize {
return UILayoutFittingExpandedSize; // 表示在可用范围内尽可能给予最大可用尺寸
}
2.使用
self.titleView = [[NavTitleView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 44)];
UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithImage:UIIMAGE_FROM_NAME(@"") style:(UIBarButtonItemStylePlain) target:nil action:nil];
self.navigationItem.leftBarButtonItem = item;
self.titleView.backgroundColor = UIColor.whiteColor;
self.navigationItem.titleView = self.titleView;
self.navigationItem.titleView.width = SCREEN_WIDTH;