From b43567748cdce260684522ca997c986683d7f8e2 Mon Sep 17 00:00:00 2001 From: CodeST <694468528@qq.com> Date: Tue, 16 Dec 2025 20:20:57 +0800 Subject: [PATCH] 1 --- .../back_keybord_icon.imageset/Contents.json | 22 ++++++++++++++++++ .../back_keybord_icon@2x.png | Bin 0 -> 2110 bytes .../back_keybord_icon@3x.png | Bin 0 -> 3779 bytes .../View/EmojiView/KBEmojiPanelView.m | 11 +++++---- CustomKeyboard/View/KBKeyButton.m | 11 ++++++++- 5 files changed, 38 insertions(+), 6 deletions(-) create mode 100644 CustomKeyboard/KeyboardAssets.xcassets/back_keybord_icon.imageset/Contents.json create mode 100644 CustomKeyboard/KeyboardAssets.xcassets/back_keybord_icon.imageset/back_keybord_icon@2x.png create mode 100644 CustomKeyboard/KeyboardAssets.xcassets/back_keybord_icon.imageset/back_keybord_icon@3x.png diff --git a/CustomKeyboard/KeyboardAssets.xcassets/back_keybord_icon.imageset/Contents.json b/CustomKeyboard/KeyboardAssets.xcassets/back_keybord_icon.imageset/Contents.json new file mode 100644 index 0000000..ae052a8 --- /dev/null +++ b/CustomKeyboard/KeyboardAssets.xcassets/back_keybord_icon.imageset/Contents.json @@ -0,0 +1,22 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "back_keybord_icon@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "back_keybord_icon@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/CustomKeyboard/KeyboardAssets.xcassets/back_keybord_icon.imageset/back_keybord_icon@2x.png b/CustomKeyboard/KeyboardAssets.xcassets/back_keybord_icon.imageset/back_keybord_icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..46e464f9cdec47df60ba80de381ec1f8fdf3b4b7 GIT binary patch literal 2110 zcmV-E2*LM>P)D zYitx%6h8O1^hu!*pp{lIse-6H3Wk^f}HA(^qB=SShXkz>& z3Xufp76T+i#NFaA6^jBsP?Q8np#_ONN?*{<^*eVvv%7Sc&g@LL`^r5#Gv}VicfPqh z_ug4aiTMa>@;yp{{VS!vVVmvK*9qzE*$%7CvE($_DY0y^CX8|iP{M)1+TM1m6V z89G9a>?$OGL!AsXehC8Fq@pvDjGZLJS|R8;R5w$QC`FC=5XQlh&pJUglWj<-wd}*b zItF5KOybyZ8j8jsyp7xBtCRuXXL3YAs}y1%k*Y^=6Wk^V#!&SfQ^!UQjGRihaqso_ zju8L8Y7y`?;cotfBrkfCZEdll#6oP^w7C2~*5xBDIgs3THHKZg1|uYlQ&!#Q>C zfbR$ai(S81cJUK(_~Tp|Xn0Rb`3pcj8!JJg^o)VANWX6@0b9Iz<0Itgo@pX);&CGJ z4iV)*lBMO4ptm(PV2lTpb3%CLklD?+BQxSjm!9vn@h&KrE>2g-k*#VAnO+fHo*0 zddMN5jabQTf*N!!gP^=WA^M>tHVqOZg}PCTt|>O;*o0u(k|e%>tAM0S6S^kU7ONl` zwF3(qk(Ip%kI&?vO`;ZXA0=iVT^nkQW+kI4^U5}2SS0N_BN}EWI<8ITPJB0-&%hC) z_XBEeG~=|=30f0v?=yf9A?1fCJO`5QEvLWMh&m$)!8RJhY1lVv5eSFyLf49#!&5{M zB7|HY-kAyK_tqRD1aG>)nCyi79ot0OFeb+4BxiW-K|+ErZR?x_;lym;s|-5Xej_QQ+vsCR@!Y67^TlgrG1vwy12;NCPAL`4@Gm`@*L@1>ectOMD zyaHNTI(dLhEeH+1nlTfs{=%#*E3N6bczl_q3y(LusMyj!HEOICqbxVy(z`k7=KxQ| zCf`&c$o2mw3})8IV)}eqwC{T+S5X_7llzy1GS;!7>z@qWDZpVsl$2~6{*{e|vMR(T?d)D%gALO)JV!lrN# zaDiDyg`RjWYk8)49G$4F(X!^jN33XkZtB^_>^Ly}X>H4WrmiF>*V4sWg2#$y#)$u@ zN~9n$I{pBWp2gWYGz-%sOL^FI$mgtMVH?xyiNaBqy{XHSS(fghyh2kQaf}r&!YGal z<^m&xLUUgnLDI}6mkIH#rUTb5Q&v->mNoyJw&L=+sb?FrqvD6JwJrCVI(|sUufB8=cMpMxD_FYI#UY5CnjsZk#I&o!V` zcRR#!E6vTbcBi~+9Zo6Fi~Id*I|Vr)Jwj;V$__Bm0I}Wp{}?t7-<|Sqb~q*czaqxw zKpOfv=qCi8hM-Szu-!gsIY%Zbww)4S$e0+LlT_ig2S*5dSJgHvqGM$9!#mjAV_#Xj zRoX0r^^HKTUZK12vKN*P;l$f$O2%@Kr9&C&oE`zBKu(Y2!H@OmQ&L60(w z*KxQ5N%wZAzt)I42M|K@m;OPdwntc{j zFR@y);UCKD=w31nGY;ttLnZymw*x2 z9Jlxg;WSvhVK}Zc4C6`MkzwBuG6u$CR4-W39!gP1Bq5PnLu1M0Zm(ZbJ8H7IvKM*my^X znGJ8BjOyA~jJur=7)mWA61$ZL|N8`Eh}|4h$3_nPr_@Xyf4nEe1jsM0@s!7JdWEW~ zEydlOW{`Z57kDV{kRm#zNVUPd3u5$37wdGNqC=#_b^|`_t7B9zS)peRjtz&QX#WEM o0RR8e_kP>}000I_L_t&o03x5eRaPb;9smFU07*qoM6N<$f^^T}%K!iX literal 0 HcmV?d00001 diff --git a/CustomKeyboard/KeyboardAssets.xcassets/back_keybord_icon.imageset/back_keybord_icon@3x.png b/CustomKeyboard/KeyboardAssets.xcassets/back_keybord_icon.imageset/back_keybord_icon@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..9f1e468910275f3c1b1d9359b5e9a610e26e09c2 GIT binary patch literal 3779 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%0AyZAj`*^tED;FDliB3hJ(mZ8QDa>mD0~+y4Dcc zi}_Asmsi+Hs1ImWevL8h1hj52*jo(Qh@k-OA|Yxm{V7#%`QUAOy9Bc1zJJ!NfJX?qxgAD9>{!nvLC z#(G>RZ3J9tl_rBZu(w*V6T>|@Ikh-NIB*!SF<<&Zz+er`WA(ZdbKzy5<9f~VSVe!| z9Rv*4z&zG^cVbwhq;tm3PIxz0hdR$`Y zXzn|hIzNk1VTfOxMIdajWsKw4jZe(nxot{?AIG@u5WhH!z;=TzFpg(7J~2Gvk}J0< zP5i$p*TZZ%QbS<3!4Oy`GCVP2gwUZz z`iCO=5sdnOH2@*Wq8U5J5T}KN@Joysj$+}$FqM?okdU{NrlZ{CO9BWmR*V^A#~3Cs zgjEtJhP5H8J?~Ml{##UAA%5u{fmX)KVAi`{x89_Qp*eF})R9BWND$vt>t@hzupj`8 z3|7F*(wa~;d1Bb?<<}okv&(J)IXsPSq&4YHDcH}CIsqm)15@( zA^)61T^~ND026}^FzV_^u9iA6><34KI-b9jq`Vuu3C%X3H<*iNEDR>VCY?l6BgX0x zzn`jj!2^n@0?oT1Ly;iPc^6~ASnzomIHXn5CnoCtGxfaG>N>1$>!M9VWy?8p?gR{+ z%Go($Fh>uSRMhKsc@+uqAOai;7e0@X77udHoI3#nIY%YO+(F102cu>PoDye=iAKd2=}OE0qQas1r1e8+9!z&a_i#=s zEaww)Oyq(j@=vR#IbRV zgjk7VPT5{+1HC6E8Ye#zdhx=os-)sxH6eVe67o_(^bBd*2{{NgFWw0a8DH?pzBvXH z3t}R~MjRso>5q~QG0w%yuOAdI_ 无变体/小写/大写 NSString *identifier = self.key.identifier; NSInteger variant = (NSInteger)self.key.caseVariant; - UIImage *iconImg = [[KBSkinManager shared] iconImageForKeyIdentifier:identifier caseVariant:variant]; + KBSkinManager *skinManager = [KBSkinManager shared]; + UIImage *iconImg = [skinManager iconImageForKeyIdentifier:identifier caseVariant:variant]; + + if (!iconImg && [identifier isEqualToString:@"ai"]) { + NSString *skinId = skinManager.current.skinId ?: @""; + BOOL usingDefaultSkin = (skinId.length == 0 || [skinId isEqualToString:@"default"]); + if (usingDefaultSkin) { + iconImg = [UIImage imageNamed:@"ai_key_icon"]; + } + } // 设置整块按键背景图(若有) self.iconView.image = iconImg;