Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 8 additions & 23 deletions DYYY.xm
Original file line number Diff line number Diff line change
Expand Up @@ -6394,13 +6394,15 @@ static NSHashTable *processedParentViews = nil;
static Class barBackgroundClass = nil;
static Class generalButtonClass = nil;
static Class plusButtonClass = nil;
static Class plusInnerButtonClass = nil;
static Class tabBarButtonClass = nil;

+ (void)initialize {
if (self == [%c(AWENormalModeTabBar) class]) {
barBackgroundClass = NSClassFromString(@"_UIBarBackground");
generalButtonClass = %c(AWENormalModeTabBarGeneralButton);
plusButtonClass = %c(AWENormalModeTabBarGeneralPlusButton);
plusInnerButtonClass = %c(AWENormalModeTabBarGeneralPlusInnerButton);
tabBarButtonClass = %c(UITabBarButton);
}
}
Expand Down Expand Up @@ -6456,15 +6458,17 @@ static Class tabBarButtonClass = nil;
BOOL hideMsg = DYYYGetBool(@"DYYYHideMessageButton");
BOOL hideFri = DYYYGetBool(@"DYYYHideFriendsButton");
BOOL hideMe = DYYYGetBool(@"DYYYHideMyButton");
BOOL hidePlus = DYYYGetBool(@"DYYYHidePlusButton");
BOOL isPad = (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad);

NSMutableArray *visibleButtons = [NSMutableArray array];
UIView *ipadContainerView = nil;

for (UIView *subview in self.subviews) {
if ([subview isKindOfClass:generalButtonClass] || [subview isKindOfClass:plusButtonClass]) {
if ([subview isKindOfClass:generalButtonClass] || [subview isKindOfClass:plusButtonClass] || [subview isKindOfClass:plusInnerButtonClass]) {
NSString *label = subview.accessibilityLabel;
BOOL shouldHide = ([label containsString:@"商城"] && hideShop) || ([label containsString:@"消息"] && hideMsg) || ([label containsString:@"朋友"] && hideFri) ||
BOOL isPlusButton = [subview isKindOfClass:plusButtonClass] || [subview isKindOfClass:plusInnerButtonClass] || [label isEqualToString:@"拍摄"];
BOOL shouldHide = (isPlusButton && hidePlus) || ([label containsString:@"商城"] && hideShop) || ([label containsString:@"消息"] && hideMsg) || ([label containsString:@"朋友"] && hideFri) ||
([label isEqualToString:@"我"] && hideMe);

subview.userInteractionEnabled = !shouldHide;
Expand Down Expand Up @@ -6546,7 +6550,7 @@ static Class tabBarButtonClass = nil;
// 单次遍历处理所有背景和分割线
for (UIView *subview in self.subviews) {
// 跳过底栏按钮
if ([subview isKindOfClass:generalButtonClass] || [subview isKindOfClass:plusButtonClass]) {
if ([subview isKindOfClass:generalButtonClass] || [subview isKindOfClass:plusButtonClass] || [subview isKindOfClass:plusInnerButtonClass]) {
continue;
}
// 隐藏底栏背景
Expand Down Expand Up @@ -6618,7 +6622,7 @@ static Class tabBarButtonClass = nil;
for (UIView *subview in self.subviews) {
CGFloat subviewHeight = subview.frame.size.height;
// 跳过底栏按钮
if ([subview isKindOfClass:generalButtonClass] || [subview isKindOfClass:plusButtonClass]) {
if ([subview isKindOfClass:generalButtonClass] || [subview isKindOfClass:plusButtonClass] || [subview isKindOfClass:plusInnerButtonClass]) {
continue;
}
// 隐藏底栏背景
Expand Down Expand Up @@ -6700,25 +6704,6 @@ static Class tabBarButtonClass = nil;

%end

%hook AWENormalModeTabBarGeneralPlusButton
+ (id)button {
BOOL isHidePlusButton = DYYYGetBool(@"DYYYHidePlusButton");
if (isHidePlusButton) {
return nil;
}
return %orig;
}
%end

%hook AWENormalModeTabBarGeneralPlusInnerButton
+ (id)buttonWithParams:(id)arg1 {
if (DYYYGetBool(@"DYYYHidePlusButton")) {
return nil;
}
return %orig;
}
%end

%hook AWENormalModeTabBarTextView

- (void)layoutSubviews {
Expand Down