前言
创建一个View作为选项框的载体,循环创建按钮视图,设定宽高,行间距和每行按钮数量都可根据具体情况灵活设置,具体实现如下:
单选效果
//单选星座
#import <UIKit/UIKit.h>
typedef void (^ConstellationBlock)(BOOL isBool);
@interface ConstellationView : UIView
@property (nonatomic, strong) NSString *constellation;//已选星座,回显数据
@property(nonatomic,copy)ConstellationBlock inputBlock;
@end
#import "ConstellationView.h"
@interface ConstellationView ()
// 标签数组
@property (nonatomic, strong) NSArray *markArray;
@property (nonatomic, strong) NSArray *iconArray;
@property (nonatomic, strong) NSArray *iconSelectArray;
// 按钮数组
@property (nonatomic, strong) NSMutableArray *btnArray;
@end
@implementation ConstellationView
- (instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if (self) {
[self setupMultiselectView];
}
return self;
}
#pragma mark - 懒加载
- (NSArray *)markArray {
if (!_markArray) {
NSArray *array = [NSArray array];
array = @[@"白羊座", @"金牛座", @"双子座", @"巨蟹座", @"狮子座",@"天秤座", @"处女座", @"天蝎座", @"射手座", @"摩羯座",@"水瓶座", @"双鱼座"];
_markArray = array;
}
return _markArray;
}
- (NSArray *)iconArray{
if (!_iconArray) {
NSArray * arr = [NSArray array];
arr = @[@"白羊座", @"金牛座", @"双子座", @"巨蟹座", @"狮子座",@"天秤座", @"处女座", @"天蝎座", @"射手座", @"摩羯座",@"水瓶座", @"双鱼座"];
_iconArray = arr;
}
return _iconArray;
}
- (NSArray *)iconSelectArray{
if (!_iconSelectArray) {
NS