This commit is contained in:
2025-10-30 13:57:34 +08:00
parent 74476cd592
commit 783d088f22

View File

@@ -78,9 +78,8 @@
}];
self.leftButtonsInternal = leftBtns.copy;
// 3
// N
NSMutableArray<UIButton *> *rightBtns = [NSMutableArray arrayWithCapacity:3];
UIView *next = nil;
for (NSInteger i = 0; i < self.rightTitles.count; i++) {
UIButton *btn = [self buildButtonWithTitle:(i < self.rightTitles.count ? self.rightTitles[i] : [NSString stringWithFormat:@"R%ld", (long)i])];
btn.tag = 200 + i;
@@ -89,25 +88,27 @@
[rightBtns addObject:btn];
}
//
UIButton *r0 = rightBtns.count > 0 ? rightBtns[0] : nil;
UIButton *r1 = rightBtns.count > 1 ? rightBtns[1] : nil;
UIButton *r2 = rightBtns.count > 2 ? rightBtns[2] : nil;
if (r0 && r1 && r2) {
[r2 mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.equalTo(self.rightContainer.mas_right);
// 1/2/3...
UIView *prevRight = nil; //
for (NSInteger i = rightBtns.count - 1; i >= 0; i--) {
UIButton *btn = rightBtns[i];
[btn mas_makeConstraints:^(MASConstraintMaker *make) {
if (!prevRight) {
//
make.right.equalTo(self.rightContainer.mas_right);
} else {
//
make.right.equalTo(prevRight.mas_left).offset(-8);
make.width.equalTo(prevRight);
}
make.top.bottom.equalTo(self.rightContainer);
}];
[r1 mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.equalTo(r2.mas_left).offset(-8);
make.top.bottom.equalTo(self.rightContainer);
make.width.equalTo(r2);
}];
[r0 mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.equalTo(r1.mas_left).offset(-8);
make.top.bottom.equalTo(self.rightContainer);
make.width.equalTo(r1);
make.left.greaterThanOrEqualTo(self.rightContainer.mas_left); //
prevRight = btn;
}
//
if (prevRight) {
[prevRight mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.greaterThanOrEqualTo(self.rightContainer.mas_left);
}];
}