处理键盘图片和自定义文字同时存在的bug

This commit is contained in:
2025-11-19 16:13:30 +08:00
parent cc55bb107a
commit 4108aed4e0
2 changed files with 20 additions and 7 deletions

View File

@@ -59,8 +59,6 @@
- (void)setKey:(KBKey *)key {
_key = key;
//
[self applyThemeForCurrentKey];
}
- (void)setHighlighted:(BOOL)highlighted {
@@ -89,18 +87,31 @@
}
- (void)applyThemeForCurrentKey {
//
NSString *identifier = self.key.identifier;
BOOL hideText = [[KBSkinManager shared] shouldHideKeyTextForIdentifier:identifier];
self.titleLabel.hidden = hideText;
//
// - identifier: letter_q
// - caseVariant: 0/1/2 => //
NSString *identifier = self.key.identifier;
NSInteger variant = (NSInteger)self.key.caseVariant;
UIImage *iconImg = [[KBSkinManager shared] iconImageForKeyIdentifier:identifier caseVariant:variant];
//
self.iconView.image = iconImg;
self.iconView.hidden = (iconImg == nil);
BOOL hasIcon = (iconImg != nil);
if (hasIcon) {
//
[self setTitle:@"" forState:UIControlStateNormal];
[self setTitle:@"" forState:UIControlStateHighlighted];
[self setTitle:@"" forState:UIControlStateSelected];
self.titleLabel.hidden = YES;
} else {
// 使 key.title hidden_keys
[self setTitle:self.key.title forState:UIControlStateNormal];
BOOL hideTextBySkin = [[KBSkinManager shared] shouldHideKeyTextForIdentifier:identifier];
self.titleLabel.hidden = hideTextBySkin;
}
}
@end

View File

@@ -298,6 +298,8 @@
KBKeyButton *btn = [[KBKeyButton alloc] init];
btn.key = key;
[btn setTitle:key.title forState:UIControlStateNormal];
//
[btn applyThemeForCurrentKey];
[btn addTarget:self action:@selector(onKeyTapped:) forControlEvents:UIControlEventTouchUpInside];
[row addSubview:btn];