1
This commit is contained in:
@@ -23,6 +23,8 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
@property (nonatomic, strong, readonly) UILabel *kb_titleLabel;
|
||||
/// 自定义导航栏左侧返回按钮(懒加载)。
|
||||
@property (nonatomic, strong, readonly) UIButton *kb_backButton;
|
||||
/// 自定义导航栏右侧按钮(懒加载,默认 hidden = YES)。
|
||||
@property (nonatomic, strong, readonly) UIButton *kb_rightButton;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
@property (nonatomic, strong) UIView *kb_navContentView; // 44 高度内容区(便于居中)
|
||||
@property (nonatomic, strong) UILabel *kb_titleLabelInternal; // 中间标题
|
||||
@property (nonatomic, strong) UIButton *kb_backButtonInternal; // 返回
|
||||
@property (nonatomic, strong) UIButton *kb_rightButtonInternal; // 右侧按钮
|
||||
@property (nonatomic, strong) MASConstraint *kb_navHeightConstraint; // 高度约束,适配刘海
|
||||
@end
|
||||
|
||||
@@ -75,12 +76,22 @@
|
||||
make.width.height.mas_equalTo(32);
|
||||
}];
|
||||
|
||||
// 右侧按钮(默认隐藏)
|
||||
[self.kb_navContentView addSubview:self.kb_rightButtonInternal];
|
||||
[self.kb_rightButtonInternal mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.right.equalTo(self.kb_navContentView).offset(-12);
|
||||
make.centerY.equalTo(self.kb_navContentView);
|
||||
// 仅固定高度,宽度由文字/图片自适应
|
||||
make.height.mas_equalTo(32);
|
||||
}];
|
||||
|
||||
// 标题
|
||||
[self.kb_navContentView addSubview:self.kb_titleLabelInternal];
|
||||
[self.kb_titleLabelInternal mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.centerX.equalTo(self.kb_navContentView);
|
||||
make.centerY.equalTo(self.kb_navContentView);
|
||||
make.left.greaterThanOrEqualTo(self.kb_backButtonInternal.mas_right).offset(8);
|
||||
make.right.lessThanOrEqualTo(self.kb_rightButtonInternal.mas_left).offset(-8);
|
||||
}];
|
||||
|
||||
// 初始标题显示为 VC 的 title
|
||||
@@ -116,6 +127,7 @@
|
||||
- (UIView *)kb_navView { return self.kb_navViewInternal; }
|
||||
- (UILabel *)kb_titleLabel { return self.kb_titleLabelInternal; }
|
||||
- (UIButton *)kb_backButton { return self.kb_backButtonInternal; }
|
||||
- (UIButton *)kb_rightButton { return self.kb_rightButtonInternal; }
|
||||
|
||||
#pragma mark - Lazy
|
||||
|
||||
@@ -158,6 +170,19 @@
|
||||
return _kb_backButtonInternal;
|
||||
}
|
||||
|
||||
- (UIButton *)kb_rightButtonInternal {
|
||||
if (!_kb_rightButtonInternal) {
|
||||
_kb_rightButtonInternal = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
_kb_rightButtonInternal.hidden = YES; // 默认不展示,业务方按需设置
|
||||
_kb_rightButtonInternal.adjustsImageWhenHighlighted = YES;
|
||||
_kb_rightButtonInternal.contentHorizontalAlignment = UIControlContentHorizontalAlignmentRight;
|
||||
_kb_rightButtonInternal.titleLabel.font = [UIFont systemFontOfSize:14];
|
||||
[_kb_rightButtonInternal setTitleColor:[UIColor colorWithHex:KBBlackValue]
|
||||
forState:UIControlStateNormal];
|
||||
}
|
||||
return _kb_rightButtonInternal;
|
||||
}
|
||||
|
||||
- (void)kb_onBack {
|
||||
if (self.navigationController && self.navigationController.viewControllers.count > 1) {
|
||||
[self.navigationController popViewControllerAnimated:YES];
|
||||
|
||||
Reference in New Issue
Block a user