小技巧 - rightBarButtonItem不显示

小技巧

1 问题描述

小技巧 - rightBarButtonItem不显示_第1张图片
iPHone SE 版本信息

iPhone SE / 10.3.3手机,正常通过 CustomView 设置rightBarButtonItem但是显示不了。

self.navigationItem. rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:rightBtn];

2 问题原因

通过直接设置 Title 的方式时,有反应,但是只是简单显示这个 ...,一看到这个我就反应到,基本上是因为 Lable 大小不合适时,就会出现这个现象,推断自定义的 button 按钮没有计算出合适 size。

3 解决方法

[rightBtn sizeToFit]; // 手动计算大小

修正后的项目代码

UIButton *rightBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[rightBtn setTitle:@"验证" forState:UIControlStateNormal];
[rightBtn setTitleColor:kColor_333333 forState:UIControlStateNormal];
rightBtn.titleLabel.font = kFontSize(14);
[rightBtn addTarget:self action:@selector(codeLogin) forControlEvents:UIControlEventTouchUpInside];
[rightBtn sizeToFit]; // 手动计算大小
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:rightBtn];

你可能感兴趣的:(小技巧 - rightBarButtonItem不显示)