新增控制堆栈视图以优化房间推荐视图的布局,调整约束以确保 UI 元素的正确排列。更新 miniStackView 和 exitStackView 的内容压缩和拥抱优先级,提升布局的灵活性和可维护性。
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
@property (nonatomic, strong) UIToolbar *toolBar;
|
||||
@property (nonatomic, strong) UITableView *tableView;
|
||||
|
||||
@property (nonatomic, strong) UIStackView *controlStackView;
|
||||
@property (nonatomic, strong) UIStackView *miniStackView;
|
||||
@property (nonatomic, strong) UIStackView *exitStackView;
|
||||
|
||||
@@ -50,12 +51,16 @@
|
||||
#pragma mark - lifeCycle
|
||||
- (void)setUpUI {
|
||||
[self addSubview:self.toolBar];
|
||||
[self addSubview:self.miniStackView];
|
||||
[self addSubview:self.exitStackView];
|
||||
|
||||
[self addSubview:self.controlStackView];
|
||||
[self.miniStackView addArrangedSubview:self.miniButton];
|
||||
[self.miniStackView addArrangedSubview:self.miniLabel];
|
||||
[self.exitStackView addArrangedSubview:self.exitButton];
|
||||
[self.exitStackView addArrangedSubview:self.exitLabel];
|
||||
|
||||
[self.controlStackView addArrangedSubview:self.miniStackView];
|
||||
[self.controlStackView addArrangedSubview:self.exitStackView];
|
||||
|
||||
[self addSubview:self.recommentLabel];
|
||||
[self addSubview:self.tableView];
|
||||
}
|
||||
@@ -70,14 +75,10 @@
|
||||
[self.toolBar mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.leading.trailing.bottom.mas_equalTo(self);
|
||||
}];
|
||||
|
||||
[self.miniStackView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
|
||||
[self.controlStackView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(kStatusBarHeight + 8);
|
||||
make.leading.mas_equalTo(self).mas_offset(36);
|
||||
}];
|
||||
[self.exitStackView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(kStatusBarHeight + 8);
|
||||
make.leading.mas_equalTo(self.miniStackView.mas_trailing).mas_offset(65);
|
||||
make.leading.trailing.mas_equalTo(self);
|
||||
}];
|
||||
|
||||
|
||||
@@ -88,7 +89,7 @@
|
||||
make.width.height.mas_equalTo(54);
|
||||
}];
|
||||
[self.recommentLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.mas_equalTo(self.miniStackView.mas_bottom).mas_offset(16);
|
||||
make.top.mas_equalTo(self.controlStackView.mas_bottom).mas_offset(16);
|
||||
make.leading.mas_equalTo(11);
|
||||
}];
|
||||
[self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
@@ -179,8 +180,18 @@
|
||||
return _exitButton;
|
||||
}
|
||||
|
||||
|
||||
|
||||
- (UIStackView *)controlStackView {
|
||||
if (!_controlStackView) {
|
||||
_controlStackView = [[UIStackView alloc] init];
|
||||
_controlStackView.axis = UILayoutConstraintAxisHorizontal;
|
||||
_controlStackView.distribution = UIStackViewDistributionEqualSpacing;
|
||||
_controlStackView.alignment = UIStackViewAlignmentCenter;
|
||||
_controlStackView.spacing = 65;
|
||||
_controlStackView.layoutMargins = UIEdgeInsetsMake(0, 36, 0, 36);
|
||||
_controlStackView.layoutMarginsRelativeArrangement = YES;
|
||||
}
|
||||
return _controlStackView;
|
||||
}
|
||||
|
||||
- (UIStackView *)miniStackView {
|
||||
if (!_miniStackView) {
|
||||
@@ -189,9 +200,12 @@
|
||||
_miniStackView.distribution = UIStackViewDistributionFill;
|
||||
_miniStackView.alignment = UIStackViewAlignmentCenter;
|
||||
_miniStackView.spacing = 17;
|
||||
[_miniStackView setContentCompressionResistancePriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal];
|
||||
[_miniStackView setContentHuggingPriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal];
|
||||
}
|
||||
return _miniStackView;
|
||||
}
|
||||
|
||||
- (UIStackView *)exitStackView {
|
||||
if (!_exitStackView) {
|
||||
_exitStackView = [[UIStackView alloc] init];
|
||||
@@ -199,12 +213,12 @@
|
||||
_exitStackView.distribution = UIStackViewDistributionFill;
|
||||
_exitStackView.alignment = UIStackViewAlignmentCenter;
|
||||
_exitStackView.spacing = 17;
|
||||
[_exitStackView setContentCompressionResistancePriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal];
|
||||
[_exitStackView setContentHuggingPriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal];
|
||||
}
|
||||
return _exitStackView;
|
||||
}
|
||||
|
||||
|
||||
|
||||
- (UILabel *)miniLabel {
|
||||
if (!_miniLabel) {
|
||||
_miniLabel = [[UILabel alloc] init];
|
||||
@@ -212,6 +226,7 @@
|
||||
_miniLabel.font = [UIFont systemFontOfSize:12 weight:UIFontWeightMedium];
|
||||
_miniLabel.textAlignment = NSTextAlignmentCenter;
|
||||
_miniLabel.textColor = [UIColor whiteColor];
|
||||
_miniLabel.numberOfLines = 0;
|
||||
}
|
||||
return _miniLabel;
|
||||
}
|
||||
@@ -223,6 +238,7 @@
|
||||
_exitLabel.font = [UIFont systemFontOfSize:12 weight:UIFontWeightMedium];
|
||||
_exitLabel.textAlignment = NSTextAlignmentCenter;
|
||||
_exitLabel.textColor = [UIColor whiteColor];
|
||||
_exitLabel.numberOfLines = 0;
|
||||
}
|
||||
return _exitLabel;
|
||||
}
|
||||
|
Reference in New Issue
Block a user