This commit is contained in:
2025-11-09 21:05:03 +08:00
parent aa71cc3c4f
commit 2415e97c97
6 changed files with 90 additions and 2 deletions

View File

@@ -72,6 +72,8 @@
048908F52EC0496400FABA60 /* KBShopItemVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 048908F42EC0496400FABA60 /* KBShopItemVC.m */; };
048909F62EC0AAAA00FABA60 /* KBCategoryTitleCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 048909F12EC0AAAA00FABA60 /* KBCategoryTitleCell.m */; };
048909F72EC0AAAA00FABA60 /* KBCategoryTitleView.m in Sources */ = {isa = PBXBuildFile; fileRef = 048909F32EC0AAAA00FABA60 /* KBCategoryTitleView.m */; };
04890A042EC0BBBB00FABA60 /* KBCategoryTitleImageCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 04890A012EC0BBBB00FABA60 /* KBCategoryTitleImageCell.m */; };
04890A052EC0BBBB00FABA60 /* KBCategoryTitleImageView.m in Sources */ = {isa = PBXBuildFile; fileRef = 04890A032EC0BBBB00FABA60 /* KBCategoryTitleImageView.m */; };
04A9FE0F2EB481100020DB6D /* KBHUD.m in Sources */ = {isa = PBXBuildFile; fileRef = 04FC97082EB31B14007BD342 /* KBHUD.m */; };
04A9FE132EB4D0D20020DB6D /* KBFullAccessManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 04A9FE112EB4D0D20020DB6D /* KBFullAccessManager.m */; };
04A9FE162EB873C80020DB6D /* UIViewController+Extension.m in Sources */ = {isa = PBXBuildFile; fileRef = 04A9FE152EB873C80020DB6D /* UIViewController+Extension.m */; };
@@ -254,6 +256,10 @@
048909F12EC0AAAA00FABA60 /* KBCategoryTitleCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = KBCategoryTitleCell.m; sourceTree = "<group>"; };
048909F22EC0AAAA00FABA60 /* KBCategoryTitleView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = KBCategoryTitleView.h; sourceTree = "<group>"; };
048909F32EC0AAAA00FABA60 /* KBCategoryTitleView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = KBCategoryTitleView.m; sourceTree = "<group>"; };
04890A002EC0BBBB00FABA60 /* KBCategoryTitleImageCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = KBCategoryTitleImageCell.h; sourceTree = "<group>"; };
04890A012EC0BBBB00FABA60 /* KBCategoryTitleImageCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = KBCategoryTitleImageCell.m; sourceTree = "<group>"; };
04890A022EC0BBBB00FABA60 /* KBCategoryTitleImageView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = KBCategoryTitleImageView.h; sourceTree = "<group>"; };
04890A032EC0BBBB00FABA60 /* KBCategoryTitleImageView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = KBCategoryTitleImageView.m; sourceTree = "<group>"; };
04A9A67D2EB9E1690023B8F4 /* KBResponderUtils.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = KBResponderUtils.h; sourceTree = "<group>"; };
04A9FE102EB4D0D20020DB6D /* KBFullAccessManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = KBFullAccessManager.h; sourceTree = "<group>"; };
04A9FE112EB4D0D20020DB6D /* KBFullAccessManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = KBFullAccessManager.m; sourceTree = "<group>"; };
@@ -500,6 +506,10 @@
048909F12EC0AAAA00FABA60 /* KBCategoryTitleCell.m */,
048909F22EC0AAAA00FABA60 /* KBCategoryTitleView.h */,
048909F32EC0AAAA00FABA60 /* KBCategoryTitleView.m */,
04890A002EC0BBBB00FABA60 /* KBCategoryTitleImageCell.h */,
04890A012EC0BBBB00FABA60 /* KBCategoryTitleImageCell.m */,
04890A022EC0BBBB00FABA60 /* KBCategoryTitleImageView.h */,
04890A032EC0BBBB00FABA60 /* KBCategoryTitleImageView.m */,
);
path = V;
sourceTree = "<group>";
@@ -1306,6 +1316,8 @@
files = (
048909F62EC0AAAA00FABA60 /* KBCategoryTitleCell.m in Sources */,
048909F72EC0AAAA00FABA60 /* KBCategoryTitleView.m in Sources */,
04890A042EC0BBBB00FABA60 /* KBCategoryTitleImageCell.m in Sources */,
04890A052EC0BBBB00FABA60 /* KBCategoryTitleImageView.m in Sources */,
04FC95E92EB23B67007BD342 /* KBNetworkManager.m in Sources */,
04FC95D22EB1E7AE007BD342 /* MyVC.m in Sources */,
047C65582EBCC06D0035E841 /* HomeRankCardCell.m in Sources */,

View File

@@ -7,6 +7,7 @@
#import "HomeRankVC.h"
#import "HomeRankContentVC.h"
#import "KBCategoryTitleImageView.h"
@interface HomeRankVC ()<JXCategoryViewDelegate>
@property (nonatomic, strong) NSArray *titles;
@@ -114,9 +115,10 @@
//
- (JXCategoryTitleImageView *)myCategoryView {
if (!_myCategoryView) {
_myCategoryView = [[JXCategoryTitleImageView alloc] init];
// Use our subclass so cells get a 4pt rounded background locally
_myCategoryView = (JXCategoryTitleImageView *)[[KBCategoryTitleImageView alloc] init];
_myCategoryView.delegate = self;
// !!!: categoryView
_myCategoryView.listContainer = self.listContainerView;
}

View File

@@ -0,0 +1,14 @@
//
// KBCategoryTitleImageCell.h
// keyBoard
//
// A JXCategoryTitleImageCell subclass that rounds the cell's contentView
// without changing the third-party JXCategoryView source code.
//
#import <JXCategoryView/JXCategoryTitleImageCell.h>
@interface KBCategoryTitleImageCell : JXCategoryTitleImageCell
@end

View File

@@ -0,0 +1,28 @@
//
// KBCategoryTitleImageCell.m
// keyBoard
//
// Sets `contentView.layer.cornerRadius = 4` for title+image cells, so the
// background color that JXCategoryView applies is shown as a rounded rect.
//
#import "KBCategoryTitleImageCell.h"
@implementation KBCategoryTitleImageCell
- (void)initializeViews {
[super initializeViews];
// Round the cell background once; keep clipping within the rounded rect.
self.contentView.layer.cornerRadius = 4.0;
self.contentView.layer.masksToBounds = YES;
}
// Defensive: if layout changes reset layer (some frameworks tweak layers in layout)
- (void)layoutSubviews {
[super layoutSubviews];
self.contentView.layer.cornerRadius = 4.0;
self.contentView.layer.masksToBounds = YES;
}
@end

View File

@@ -0,0 +1,14 @@
//
// KBCategoryTitleImageView.h
// keyBoard
//
// Registers KBCategoryTitleImageCell so we can round cells locally
// without touching the JXCategoryView pod.
//
#import <JXCategoryView/JXCategoryTitleImageView.h>
@interface KBCategoryTitleImageView : JXCategoryTitleImageView
@end

View File

@@ -0,0 +1,18 @@
//
// KBCategoryTitleImageView.m
// keyBoard
//
// Use our rounded KBCategoryTitleImageCell for this view instance.
//
#import "KBCategoryTitleImageView.h"
#import "KBCategoryTitleImageCell.h"
@implementation KBCategoryTitleImageView
- (Class)preferredCellClass {
return [KBCategoryTitleImageCell class];
}
@end