iOS 下拉列表选择

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类

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值