处理ios18从其他app用自己键盘 拉起主app的bug

其他问题
This commit is contained in:
2025-11-24 19:58:19 +08:00
parent 8e93f8f86f
commit 15e37841bb
20 changed files with 264 additions and 88 deletions

View File

@@ -32,10 +32,10 @@ static NSString * const kMySkinCellId = @"kMySkinCellId";
self.view.backgroundColor = [UIColor whiteColor];
// self.title = @"My Skin"; //
self.kb_titleLabel.text = KBLocalized(@"My skin");
// Editor/Cancel 使 BaseViewController kb_rightButton
self.kb_rightButton.hidden = NO;
[self.kb_rightButton setTitle:@"Editor" forState:UIControlStateNormal];
[self.kb_rightButton setTitle:KBLocalized(@"Editor") forState:UIControlStateNormal];
[self.kb_rightButton removeTarget:nil action:NULL forControlEvents:UIControlEventAllEvents];
[self.kb_rightButton addTarget:self action:@selector(onToggleEdit) forControlEvents:UIControlEventTouchUpInside];
@@ -49,13 +49,14 @@ static NSString * const kMySkinCellId = @"kMySkinCellId";
[self.collectionView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.view).offset(KB_NAV_TOTAL_HEIGHT);
make.left.right.equalTo(self.view);
make.bottom.equalTo(self.view.mas_bottom);
make.bottom.equalTo(self.bottomView.mas_top);
}];
[self.bottomView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.equalTo(self.view);
make.bottom.equalTo(self.view.mas_safeAreaLayoutGuideBottom);
make.height.mas_equalTo(64);
make.bottom.equalTo(self.view.mas_bottom);
// 0
make.height.mas_equalTo(0);
}];
// LYEmptyView +
@@ -108,11 +109,21 @@ static NSString * const kMySkinCellId = @"kMySkinCellId";
self.editingMode = !self.editingMode;
//
[self.kb_rightButton setTitle:(self.isEditingMode ? @"Cancel" : @"Editor")
[self.kb_rightButton setTitle:(self.isEditingMode ? KBLocalized(@"Cancel") : KBLocalized(@"Editor"))
forState:UIControlStateNormal];
//
self.bottomView.hidden = !self.isEditingMode;
// bottomView
CGFloat targetHeight = self.isEditingMode ? (KB_SAFE_BOTTOM + 44.0) : 0.0;
//
self.bottomView.hidden = NO;
[self.bottomView mas_updateConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(targetHeight);
}];
[UIView animateWithDuration:0.25 animations:^{
[self.view layoutIfNeeded];
} completion:^(BOOL finished) {
self.bottomView.hidden = !self.isEditingMode;
}];
// /退
self.collectionView.allowsMultipleSelection = self.isEditingMode;
@@ -155,7 +166,8 @@ static NSString * const kMySkinCellId = @"kMySkinCellId";
- (void)updateBottomUI {
NSInteger count = self.collectionView.indexPathsForSelectedItems.count;
self.selectedLabel.text = [NSString stringWithFormat:@"Selected: %ld Skins", (long)count];
NSString *format = KBLocalized(@"my_skin_selected_count");
self.selectedLabel.text = [NSString stringWithFormat:format, (long)count];
BOOL enable = count > 0;
self.deleteButton.enabled = enable;
@@ -253,11 +265,12 @@ static NSString * const kMySkinCellId = @"kMySkinCellId";
[self.selectedLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(_bottomView).offset(16);
make.centerY.equalTo(_bottomView);
// 64 32
make.centerY.equalTo(_bottomView.mas_top).offset(32);
}];
[self.deleteButton mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.equalTo(_bottomView).offset(-16);
make.centerY.equalTo(_bottomView);
make.centerY.equalTo(_bottomView.mas_top).offset(32);
make.width.mas_equalTo(92);
make.height.mas_equalTo(36);
}];
@@ -270,7 +283,7 @@ static NSString * const kMySkinCellId = @"kMySkinCellId";
_selectedLabel = [UILabel new];
_selectedLabel.textColor = [UIColor colorWithHex:0x666666];
_selectedLabel.font = [UIFont systemFontOfSize:14 weight:UIFontWeightMedium];
_selectedLabel.text = @"Selected: 0 Skins";
// _selectedLabel.text = @"Selected: 0 Skins";
}
return _selectedLabel;
}
@@ -278,7 +291,7 @@ static NSString * const kMySkinCellId = @"kMySkinCellId";
- (UIButton *)deleteButton {
if (!_deleteButton) {
_deleteButton = [UIButton buttonWithType:UIButtonTypeSystem];
[_deleteButton setTitle:@"Delete" forState:UIControlStateNormal];
[_deleteButton setTitle:KBLocalized(@"Delete") forState:UIControlStateNormal];
_deleteButton.titleLabel.font = [UIFont systemFontOfSize:16 weight:UIFontWeightSemibold];
_deleteButton.layer.cornerRadius = 18;
_deleteButton.layer.borderWidth = 1;