iOS下拉列表选择
下拉展开列表选择
1.item类
//
// Item.h
// DemoForTest
//
// Created by 刘永吉 on 2019/9/9.
// Copyright © 2019 lyj. All rights reserved.
//
#import <UIKit/UIKit.h>
typedef NS_ENUM(NSUInteger, ItemType){
ItemTypeExamination = 0,//招生季
ItemTypeTime = 1,//时间
ItemTypeStatues = 2,//状态
};
NS_ASSUME_NONNULL_BEGIN
@interface Item : UIButton
@property (nonatomic,assign)NSInteger index;//选中的角标
-(UIButton *)initItemWithTitle:(NSString *)title ItemTag:(NSInteger)itemTag frame:(CGRect)frame action:(SEL)action view:(UIView *)superview;
-(void)setTitle:(NSString *)title AndSelectIndex:(NSInteger)index;
@end
NS_ASSUME_NONNULL_END
//
// Item.m
// DemoForTest
//
// Created by 刘永吉 on 2019/9/9.
// Copyright © 2019 lyj. All rights reserved.
//
#import “Item.h”
@implementation Item
-(UIButton *)initItemWithTitle:(NSString *)title ItemTag:(NSInteger)itemTag frame:(CGRect)frame action:(SEL)action view:(UIView *)superview{
Item *item = [Item buttonWithType:UIButtonTypeCustom];
[item setImage:[UIImage imageNamed:@“rightImage_state”] forState:UIControlStateNormal];
[item setImage:[UIImage imageNamed:@“rightImage_state”] forState:UIControlStateHighlighted];
[item setImage:[UIImage imageNamed:@“rightImage_state_normal”] forState:UIControlStateSelected];
[item setImage:[UIImage imageNamed:@“rightImage_state_normal”] forState:UIControlStateSelected | UIControlStateHighlighted];
[item setTitle:title forState:UIControlStateNormal];
[item.titleLabel setFont:[UIFont systemFontOfSize:15.0f]];
[item setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[item setTitleColor:[UIColor blackColor] forState:UIControlStateHighlighted];
[item setTitleColor:[UIColor redColor] forState:UIControlStateSelected];
[item setTitleColor:[UIColor redColor] forState:UIControlStateSelected | UIControlStateHighlighted];
[item setAdjustsImageWhenHighlighted:NO];
item.frame = frame;
// 设置左右排列
[item setTitleEdgeInsets:UIEdgeInsetsMake(0, -(item.imageView.bounds.size.width + 4), 0, item.imageView.bounds.size.width + 4)];
[item setImageEdgeInsets:UIEdgeInsetsMake(0, item.titleLabel.bounds.size.width, 0, -item.titleLabel.bounds.size.width)];
item.tag = itemTag;
item.index = 0;//默认下标是0
[item addTarget:superview action:action forControlEvents:UIControlEventTouchUpInside];
return item;
}
-(void)setTitle:(NSString *)title AndSelectIndex:(NSInteger)index{
[self setTitle:title forState:UIControlStateNormal];
self.index = index;
// 设置左右排列
[self setTitleEdgeInsets:UIEdgeInsetsMake(0, -(self.imageView.bounds.size.width + 4), 0, self.imageView.bounds.size.width + 4)];
[self setImageEdgeInsets:UIEdgeInsetsMake(0, self.titleLabel.bounds.size.width, 0, -self.titleLabel.bounds.size.width)];
}
@end
2.view类