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