@@ -87,6 +87,7 @@ - (void)setQmui_badgeString:(NSString *)qmui_badgeString {
8787 [self updateViewDidSetBlockIfNeeded ];
8888 }
8989 self.qmui_view .qmui_badgeString = qmui_badgeString;
90+ self.qmui_selectedView .qmui_badgeString = qmui_badgeString;
9091}
9192
9293- (NSString *)qmui_badgeString {
@@ -97,6 +98,7 @@ - (NSString *)qmui_badgeString {
9798- (void )setQmui_badgeBackgroundColor : (UIColor *)qmui_badgeBackgroundColor {
9899 objc_setAssociatedObject (self, &kAssociatedObjectKey_badgeBackgroundColor , qmui_badgeBackgroundColor, OBJC_ASSOCIATION_RETAIN_NONATOMIC );
99100 self.qmui_view .qmui_badgeBackgroundColor = qmui_badgeBackgroundColor;
101+ self.qmui_selectedView .qmui_badgeBackgroundColor = qmui_badgeBackgroundColor;
100102}
101103
102104- (UIColor *)qmui_badgeBackgroundColor {
@@ -107,6 +109,7 @@ - (UIColor *)qmui_badgeBackgroundColor {
107109- (void )setQmui_badgeTextColor : (UIColor *)qmui_badgeTextColor {
108110 objc_setAssociatedObject (self, &kAssociatedObjectKey_badgeTextColor , qmui_badgeTextColor, OBJC_ASSOCIATION_RETAIN_NONATOMIC );
109111 self.qmui_view .qmui_badgeTextColor = qmui_badgeTextColor;
112+ self.qmui_selectedView .qmui_badgeTextColor = qmui_badgeTextColor;
110113}
111114
112115- (UIColor *)qmui_badgeTextColor {
@@ -117,6 +120,7 @@ - (UIColor *)qmui_badgeTextColor {
117120- (void )setQmui_badgeFont : (UIFont *)qmui_badgeFont {
118121 objc_setAssociatedObject (self, &kAssociatedObjectKey_badgeFont , qmui_badgeFont, OBJC_ASSOCIATION_RETAIN_NONATOMIC );
119122 self.qmui_view .qmui_badgeFont = qmui_badgeFont;
123+ self.qmui_selectedView .qmui_badgeFont = qmui_badgeFont;
120124}
121125
122126- (UIFont *)qmui_badgeFont {
@@ -127,6 +131,7 @@ - (UIFont *)qmui_badgeFont {
127131- (void )setQmui_badgeContentEdgeInsets : (UIEdgeInsets)qmui_badgeContentEdgeInsets {
128132 objc_setAssociatedObject (self, &kAssociatedObjectKey_badgeContentEdgeInsets , [NSValue valueWithUIEdgeInsets: qmui_badgeContentEdgeInsets], OBJC_ASSOCIATION_RETAIN_NONATOMIC );
129133 self.qmui_view .qmui_badgeContentEdgeInsets = qmui_badgeContentEdgeInsets;
134+ self.qmui_selectedView .qmui_badgeContentEdgeInsets = qmui_badgeContentEdgeInsets;
130135}
131136
132137- (UIEdgeInsets)qmui_badgeContentEdgeInsets {
@@ -137,6 +142,7 @@ - (UIEdgeInsets)qmui_badgeContentEdgeInsets {
137142- (void )setQmui_badgeOffset : (CGPoint)qmui_badgeOffset {
138143 objc_setAssociatedObject (self, &kAssociatedObjectKey_badgeOffset , @(qmui_badgeOffset), OBJC_ASSOCIATION_RETAIN_NONATOMIC );
139144 self.qmui_view .qmui_badgeOffset = qmui_badgeOffset;
145+ self.qmui_selectedView .qmui_badgeOffset = qmui_badgeOffset;
140146}
141147
142148- (CGPoint)qmui_badgeOffset {
@@ -147,6 +153,7 @@ - (CGPoint)qmui_badgeOffset {
147153- (void )setQmui_badgeOffsetLandscape : (CGPoint)qmui_badgeOffsetLandscape {
148154 objc_setAssociatedObject (self, &kAssociatedObjectKey_badgeOffsetLandscape , @(qmui_badgeOffsetLandscape), OBJC_ASSOCIATION_RETAIN_NONATOMIC );
149155 self.qmui_view .qmui_badgeOffsetLandscape = qmui_badgeOffsetLandscape;
156+ self.qmui_selectedView .qmui_badgeOffsetLandscape = qmui_badgeOffsetLandscape;
150157}
151158
152159- (CGPoint)qmui_badgeOffsetLandscape {
@@ -155,6 +162,8 @@ - (CGPoint)qmui_badgeOffsetLandscape {
155162
156163- (void )setQmui_badgeView : (__kindof UIView *)qmui_badgeView {
157164 self.qmui_view .qmui_badgeView = qmui_badgeView;
165+ // / iOS 26,需要改成block?
166+ // self.qmui_selectedView.qmui_badgeView = qmui_badgeView;
158167}
159168
160169- (__kindof UIView *)qmui_badgeView {
@@ -163,6 +172,7 @@ - (__kindof UIView *)qmui_badgeView {
163172
164173- (void )setQmui_badgeViewDidLayoutBlock : (void (^)(__kindof UIView * _Nonnull, __kindof UIView * _Nonnull))qmui_badgeViewDidLayoutBlock {
165174 self.qmui_view .qmui_badgeViewDidLayoutBlock = qmui_badgeViewDidLayoutBlock;
175+ self.qmui_selectedView .qmui_badgeViewDidLayoutBlock = qmui_badgeViewDidLayoutBlock;
166176}
167177
168178- (void (^)(__kindof UIView * _Nonnull, __kindof UIView * _Nonnull))qmui_badgeViewDidLayoutBlock {
@@ -178,6 +188,7 @@ - (void)setQmui_shouldShowUpdatesIndicator:(BOOL)qmui_shouldShowUpdatesIndicator
178188 [self updateViewDidSetBlockIfNeeded ];
179189 }
180190 self.qmui_view .qmui_shouldShowUpdatesIndicator = qmui_shouldShowUpdatesIndicator;
191+ self.qmui_selectedView .qmui_shouldShowUpdatesIndicator = qmui_shouldShowUpdatesIndicator;
181192}
182193
183194- (BOOL )qmui_shouldShowUpdatesIndicator {
@@ -188,6 +199,7 @@ - (BOOL)qmui_shouldShowUpdatesIndicator {
188199- (void )setQmui_updatesIndicatorColor : (UIColor *)qmui_updatesIndicatorColor {
189200 objc_setAssociatedObject (self, &kAssociatedObjectKey_updatesIndicatorColor , qmui_updatesIndicatorColor, OBJC_ASSOCIATION_RETAIN_NONATOMIC );
190201 self.qmui_view .qmui_updatesIndicatorColor = qmui_updatesIndicatorColor;
202+ self.qmui_selectedView .qmui_updatesIndicatorColor = qmui_updatesIndicatorColor;
191203}
192204
193205- (UIColor *)qmui_updatesIndicatorColor {
@@ -198,6 +210,7 @@ - (UIColor *)qmui_updatesIndicatorColor {
198210- (void )setQmui_updatesIndicatorSize : (CGSize)qmui_updatesIndicatorSize {
199211 objc_setAssociatedObject (self, &kAssociatedObjectKey_updatesIndicatorSize , [NSValue valueWithCGSize: qmui_updatesIndicatorSize], OBJC_ASSOCIATION_RETAIN_NONATOMIC );
200212 self.qmui_view .qmui_updatesIndicatorSize = qmui_updatesIndicatorSize;
213+ self.qmui_selectedView .qmui_updatesIndicatorSize = qmui_updatesIndicatorSize;
201214}
202215
203216- (CGSize)qmui_updatesIndicatorSize {
@@ -208,6 +221,7 @@ - (CGSize)qmui_updatesIndicatorSize {
208221- (void )setQmui_updatesIndicatorOffset : (CGPoint)qmui_updatesIndicatorOffset {
209222 objc_setAssociatedObject (self, &kAssociatedObjectKey_updatesIndicatorOffset , @(qmui_updatesIndicatorOffset), OBJC_ASSOCIATION_RETAIN_NONATOMIC );
210223 self.qmui_view .qmui_updatesIndicatorOffset = qmui_updatesIndicatorOffset;
224+ self.qmui_selectedView .qmui_updatesIndicatorOffset = qmui_updatesIndicatorOffset;
211225}
212226
213227- (CGPoint)qmui_updatesIndicatorOffset {
@@ -218,6 +232,7 @@ - (CGPoint)qmui_updatesIndicatorOffset {
218232- (void )setQmui_updatesIndicatorOffsetLandscape : (CGPoint)qmui_updatesIndicatorOffsetLandscape {
219233 objc_setAssociatedObject (self, &kAssociatedObjectKey_updatesIndicatorOffsetLandscape , @(qmui_updatesIndicatorOffsetLandscape), OBJC_ASSOCIATION_RETAIN_NONATOMIC );
220234 self.qmui_view .qmui_updatesIndicatorOffsetLandscape = qmui_updatesIndicatorOffsetLandscape;
235+ self.qmui_selectedView .qmui_updatesIndicatorOffsetLandscape = qmui_updatesIndicatorOffsetLandscape;
221236}
222237
223238- (CGPoint)qmui_updatesIndicatorOffsetLandscape {
@@ -226,6 +241,8 @@ - (CGPoint)qmui_updatesIndicatorOffsetLandscape {
226241
227242- (void )setQmui_updatesIndicatorView : (__kindof UIView *)qmui_updatesIndicatorView {
228243 self.qmui_view .qmui_updatesIndicatorView = qmui_updatesIndicatorView;
244+ // / iOS 26,需要改成block?
245+ // self.qmui_selectedView.qmui_updatesIndicatorView = qmui_updatesIndicatorView;
229246}
230247
231248- (UIView *)qmui_updatesIndicatorView {
@@ -234,6 +251,7 @@ - (UIView *)qmui_updatesIndicatorView {
234251
235252- (void )setQmui_updatesIndicatorViewDidLayoutBlock : (void (^)(__kindof UIView * _Nonnull, __kindof UIView * _Nonnull))qmui_updatesIndicatorViewDidLayoutBlock {
236253 self.qmui_view .qmui_updatesIndicatorViewDidLayoutBlock = qmui_updatesIndicatorViewDidLayoutBlock;
254+ self.qmui_selectedView .qmui_updatesIndicatorViewDidLayoutBlock = qmui_updatesIndicatorViewDidLayoutBlock;
237255}
238256
239257- (void (^)(__kindof UIView * _Nonnull, __kindof UIView * _Nonnull))qmui_updatesIndicatorViewDidLayoutBlock {
@@ -242,23 +260,75 @@ - (void)setQmui_updatesIndicatorViewDidLayoutBlock:(void (^)(__kindof UIView * _
242260
243261#pragma mark - Common
244262
263+ - (nullable UIView *)qmui_selectedView {
264+ if (QMUIHelper.isUsedLiquidGlass ) {
265+ if (![self isKindOfClass: UITabBarItem.class]) {
266+ return nil ;
267+ }
268+ UIView *view = self.qmui_view ;
269+ if (!view) {
270+ return nil ;
271+ }
272+ NSInteger index = [view.superview.subviews indexOfObject: view];
273+ if (index == NSNotFound ) {
274+ return nil ;
275+ }
276+ UIView *platterView = view.superview .superview ;
277+ if (![NSStringFromClass (platterView.class) hasSuffix: @" _UITabBarPlatterView" ]) {
278+ return nil ;
279+ }
280+ UIView *selectedContentView = platterView.subviews .firstObject ;
281+ if (![NSStringFromClass (selectedContentView.class) hasSuffix: @" SelectedContentView" ]) {
282+ return nil ;
283+ }
284+ if (index < selectedContentView.subviews .count ) {
285+ UIView *selectedView = [selectedContentView.subviews objectAtIndex: index];
286+ return selectedView;
287+ }
288+ }
289+ return nil ;
290+ }
291+
245292- (void )updateViewDidSetBlockIfNeeded {
246293 if (!self.qmui_viewDidSetBlock ) {
247294 self.qmui_viewDidSetBlock = ^(__kindof UIBarItem * _Nonnull item, UIView * _Nullable view) {
295+ UIView *selectedView = item.qmui_selectedView ;
296+
248297 view.qmui_badgeBackgroundColor = item.qmui_badgeBackgroundColor ;
298+ selectedView.qmui_badgeBackgroundColor = item.qmui_badgeBackgroundColor ;
299+
249300 view.qmui_badgeTextColor = item.qmui_badgeTextColor ;
301+ selectedView.qmui_badgeTextColor = item.qmui_badgeTextColor ;
302+
250303 view.qmui_badgeFont = item.qmui_badgeFont ;
304+ selectedView.qmui_badgeFont = item.qmui_badgeFont ;
305+
251306 view.qmui_badgeContentEdgeInsets = item.qmui_badgeContentEdgeInsets ;
307+ selectedView.qmui_badgeContentEdgeInsets = item.qmui_badgeContentEdgeInsets ;
308+
252309 view.qmui_badgeOffset = item.qmui_badgeOffset ;
310+ selectedView.qmui_badgeOffset = item.qmui_badgeOffset ;
311+
253312 view.qmui_badgeOffsetLandscape = item.qmui_badgeOffsetLandscape ;
313+ selectedView.qmui_badgeOffsetLandscape = item.qmui_badgeOffsetLandscape ;
254314
255315 view.qmui_updatesIndicatorColor = item.qmui_updatesIndicatorColor ;
316+ selectedView.qmui_updatesIndicatorColor = item.qmui_updatesIndicatorColor ;
317+
256318 view.qmui_updatesIndicatorSize = item.qmui_updatesIndicatorSize ;
319+ selectedView.qmui_updatesIndicatorSize = item.qmui_updatesIndicatorSize ;
320+
257321 view.qmui_updatesIndicatorOffset = item.qmui_updatesIndicatorOffset ;
322+ selectedView.qmui_updatesIndicatorOffset = item.qmui_updatesIndicatorOffset ;
323+
258324 view.qmui_updatesIndicatorOffsetLandscape = item.qmui_updatesIndicatorOffsetLandscape ;
325+ selectedView.qmui_updatesIndicatorOffsetLandscape = item.qmui_updatesIndicatorOffsetLandscape ;
259326
260327 view.qmui_badgeString = item.qmui_badgeString ;
328+ selectedView.qmui_badgeString = item.qmui_badgeString ;
329+
261330 view.qmui_shouldShowUpdatesIndicator = item.qmui_shouldShowUpdatesIndicator ;
331+ selectedView.qmui_shouldShowUpdatesIndicator = item.qmui_shouldShowUpdatesIndicator ;
262332 };
263333
264334 // 为 qmui_viewDidSetBlock 赋值前 item 已经 set 完 view,则手动触发一次
0 commit comments