// // GenderPickerView.m // TreeHole // // Created by 谢培艺 on 2022/8/17. // #import "GenderPickerView.h" @implementation GenderPickerView + (GenderPickerView *)pickerViewWithMultiple:(BOOL)multiple selectedArr:(NSArray *)Arr { 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; if ([Arr containsObject:itemModel]) { pickButton.selected = true; } 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