cdts/xdts-ios 3/TreeHole/Code/Features/Profile/View/GenderPickerView.m

47 lines
2.1 KiB
Mathematica
Raw Normal View History

2023-07-27 09:20:00 +08:00
//
// GenderPickerView.m
// TreeHole
//
// Created by on 2022/8/17.
//
#import "GenderPickerView.h"
@implementation GenderPickerView
2023-08-18 14:05:39 +08:00
+ (GenderPickerView *)pickerViewWithMultiple:(BOOL)multiple selectedArr:(NSArray<NSString*> *)Arr {
2023-07-27 09:20:00 +08:00
NSInteger pickButtonTag = 666;
GenderPickerView *genderPickerView = [GenderPickerView gridSelectViewWithItemModels:@[@"CD", @"TS", @"ZN"] setupConfig:^(MTGridSelectConfig * _Nonnull config) {
config.itemSize = CGSizeMake(FIX_SIZE(94), FIX_SIZE(94));
config.rowSpacing = FIX_SIZE(15);
config.multiple = multiple;
config.contentInset = UIEdgeInsetsMake(FIX_SIZE(30), FIX_SIZE(30), FIX_SIZE(30), FIX_SIZE(30));
} didSetupItemContentView:^UIView *(UIView * _Nonnull itemContentView, id _Nonnull itemModel) {
UIImageView *itemImageView = [[UIImageView alloc] init];
itemImageView.image = ImageNamed([[itemModel lowercaseString] stringByAppendingString:@"_bg"]);
itemImageView.size = itemContentView.size;
itemImageView.backgroundColor = UIColor.clearColor;
UIButton *pickButton = [[UIButton alloc] init];
pickButton.userInteractionEnabled = NO;
pickButton.size = CGSizeMake(FIX_SIZE(26), FIX_SIZE(26));
[pickButton setBackgroundImage:ImageNamed(@"TH_login_unpick") forState:UIControlStateNormal];
[pickButton setBackgroundImage:ImageNamed(@"TH_login_picked") forState:UIControlStateSelected];
pickButton.right = itemImageView.width;
2023-08-18 14:05:39 +08:00
if ([Arr containsObject:itemModel]) {
pickButton.selected = true;
}
2023-07-27 09:20:00 +08:00
pickButton.tag = pickButtonTag;
[itemImageView addSubview:pickButton];
return itemImageView;
} itemStateChanged:^(UIView * _Nonnull itemView, NSString * _Nonnull itemModel, MTGridItemState state, BOOL changeByInner) {
UIButton *button = (UIButton *)[itemView viewWithTag:pickButtonTag];
button.selected = state == MTGridItemStateSelected;
} selectValueChanged:^(NSArray * _Nonnull selectedModels) {
}];
genderPickerView.height = FIX_SIZE(154);
return genderPickerView;
}
@end