UI
This commit is contained in:
@@ -371,12 +371,37 @@
|
||||
// 避免对基准按钮自身添加 self == self * k 的无效约束
|
||||
if (b == firstChar) 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;
|
||||
if (b.key.type == KBKeyTypeSpace) multiplier = 4.0;
|
||||
if (b.key.type == KBKeyTypeReturn) multiplier = 1.8;
|
||||
if (b.key.type == KBKeyTypeModeChange || b.key.type == KBKeyTypeGlobe || b.key.type == KBKeyTypeShift || b.key.type == KBKeyTypeBackspace) {
|
||||
|
||||
// Space 保持原来的长条比例
|
||||
if (b.key.type == KBKeyTypeSpace) {
|
||||
multiplier = 4.0;
|
||||
}
|
||||
// Send 按钮:宽度为基准键的 2.6 倍
|
||||
else if (b.key.type == KBKeyTypeReturn) {
|
||||
multiplier = 2.6;
|
||||
}
|
||||
// 删除、123/ABC、#+=、AI:宽度与基准键一致(1 倍,“接近正方形”)
|
||||
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;
|
||||
}
|
||||
|
||||
[b mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.width.equalTo(firstChar).multipliedBy(multiplier);
|
||||
}];
|
||||
|
||||
Reference in New Issue
Block a user