This commit is contained in:
2025-11-20 19:57:11 +08:00
parent 75d2e4072a
commit b2994adc1c
4 changed files with 31 additions and 5 deletions

View File

@@ -16,7 +16,7 @@ typedef NS_ENUM(NSInteger, KBKeyType) {
KBKeyTypeSpace, // 空格 KBKeyTypeSpace, // 空格
KBKeyTypeReturn, // 回车/发送 KBKeyTypeReturn, // 回车/发送
KBKeyTypeGlobe, // 系统地球键 KBKeyTypeGlobe, // 系统地球键
KBKeyTypeCustom, // 自定义功能占位 KBKeyTypeCustom, // 自定义功能占位 AI
KBKeyTypeSymbolsToggle // 数字面板内的“#+=/123”切换 KBKeyTypeSymbolsToggle // 数字面板内的“#+=/123”切换
}; };

View File

@@ -227,6 +227,7 @@
"backspace" = "key_del"; "backspace" = "key_del";
/* Shift */ /* Shift */
"shift" = "key_up"; "shift" = "key_up";
"shift_upper" = "key_up_upper";
/* 字母面板左下角 "123" */ /* 字母面板左下角 "123" */
"mode_123" = "key_123"; "mode_123" = "key_123";
/* 数字面板左下角 "abc" */ /* 数字面板左下角 "abc" */

View File

@@ -38,7 +38,7 @@
if (!self.iconView) { if (!self.iconView) {
UIImageView *iv = [[UIImageView alloc] initWithFrame:CGRectZero]; UIImageView *iv = [[UIImageView alloc] initWithFrame:CGRectZero];
// //
iv.contentMode = UIViewContentModeScaleAspectFit; iv.contentMode = UIViewContentModeScaleToFill;
iv.clipsToBounds = YES; iv.clipsToBounds = YES;
iv.translatesAutoresizingMaskIntoConstraints = NO; iv.translatesAutoresizingMaskIntoConstraints = NO;
[self addSubview:iv]; [self addSubview:iv];

View File

@@ -371,12 +371,37 @@
// self == self * k // self == self * k
if (b == firstChar) continue; if (b == firstChar) continue;
if (b.key.type == KBKeyTypeCharacter) continue; if (b.key.type == KBKeyTypeCharacter) continue;
// Shift Backspace 1:1 =
//
if (b.key.type == KBKeyTypeShift || b.key.type == KBKeyTypeBackspace) {
[b mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.equalTo(b.mas_height);
}];
continue;
}
CGFloat multiplier = 1.5; CGFloat multiplier = 1.5;
if (b.key.type == KBKeyTypeSpace) multiplier = 4.0;
if (b.key.type == KBKeyTypeReturn) multiplier = 1.8; // Space
if (b.key.type == KBKeyTypeModeChange || b.key.type == KBKeyTypeGlobe || b.key.type == KBKeyTypeShift || b.key.type == KBKeyTypeBackspace) { if (b.key.type == KBKeyTypeSpace) {
multiplier = 4.0;
}
// Send 2.6
else if (b.key.type == KBKeyTypeReturn) {
multiplier = 2.6;
}
// 123/ABC#+=AI1
else if (b.key.type == KBKeyTypeModeChange ||
b.key.type == KBKeyTypeSymbolsToggle ||
b.key.type == KBKeyTypeCustom) {
multiplier = 1.0;
}
// Globe
else if (b.key.type == KBKeyTypeGlobe) {
multiplier = 1.5; multiplier = 1.5;
} }
[b mas_makeConstraints:^(MASConstraintMaker *make) { [b mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.equalTo(firstChar).multipliedBy(multiplier); make.width.equalTo(firstChar).multipliedBy(multiplier);
}]; }];