- 1
- 0
- 约3.27万字
- 约 48页
- 2021-01-15 发布于北京
- 举报
iOS自定义选择器
一、概述
如果需求和iOS内置的选择器样式都不符合的话,那么就没办法使用UIPicker和UIDatePicker,比如当只需要显示年、月信息的时候,显然UIDatePicker没办法满足我们的需求,那这时我们只能通过UIPickerView来自定义自己想要的选择器。
二、UIPickerView的自定义使用
(1)创建基类继承于UIView的WXZBasePickView。
我们常见的选择器的样式是一个带透明背景色的view,底部是内容的选择器,有确定和取消按钮,大致如图:
选择器
所以我们创建一个基类view,这个view的样式如图所示样式,之后根据内容的差别创建基于该view的选择器。
在.h中声明各个属性及方法
#import UIKit/UIKit.h
@interface WXZBasePickView : UIView
@property (nonatomic, strong) UIView *contentView;
//选择器
@property (nonatomic, strong)UIPickerView *pickerView;
//取消按钮
@property (nonatomic, strong)UIButton *cancelButton;
//确定按钮
@property (nonatomic, strong)UIButton *confirmButton;
//选择器每一列的高度
@property (nonatomic, assign)CGFloat pickerViewHeight;
/**
* 创建视图,初始化视图时初始数据
*/
- (void)initPickView;
/**
* 确认按钮的点击事件
*/
- (void)clickConfirmButton;
/**
* pickerView的显示
*/
- (void)show;
/**
* 移除pickerView
*/
- (void)disMiss;
@end
在.m中实现相关方法
#import WXZBasePickView.h
#define ScreenWidth [UIScreen mainScreen].bounds.size.width
#define ScreenHeight [UIScreen mainScreen].bounds.size.height
@implementation WXZBasePickView
- (instancetype)init
{
self = [super init];
if (self) {
_pickerViewHeight = 250;
self.bounds = [UIScreen mainScreen].bounds;
self.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.64];
self.layer.opacity = 0.0;
UITapGestureRecognizer *tap=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(disMiss)];
self.userInteractionEnabled = YES;
[self addGestureRecognizer:tap];
[self addSubview:self.contentView];
[self.contentView addSubview:self.pickerView];
[self.contentView addSubview:self.cancelButton];
[self.contentView addSubview:self.confirmButton];
[self initPickView];
}
return self;
}
//初始化选择器内容,创建子类时需实现该父类方法
-(void)initPickView{
}
//点击确定按钮
- (void)clickConfirmButton
{
[self disMiss];
}
//点击取消按钮
- (void) clickCancelButton
{
[self disMiss]
您可能关注的文档
- 移动通信接入网运行与维护 RNC全局数据配置-增加本局基本信息 实验三 WCDMA-RNC全局配置及设备调测(仿真环境).docx
- 移动应用软件开发综合实训(基于iOS平台)-2017 iOS设备调试 iOS设备调试- 打包应用.docx
- 移动应用软件开发综合实训(基于iOS平台)-2017 LLDB调试工具使用 Xcode视图调试器.docx
- 移动应用软件开发综合实训(基于iOS平台)-2017 捏合手势处理器UIPinchGestureRecognizer使用 iOS 手势操作.docx
- 移动游戏开发综合实训-2017 拆分UV UV拆分1_UV拆分小技巧.docx
- 移动游戏开发综合实训-2017 多重对象编辑 多重对象编辑.docx
- 移动游戏开发综合实训-2017 解决物体透明穿插问题 解决物体透明穿插的问题.docx
- 移动游戏开发综合实训-2017 头像设计 角色头像上色.docx
- 遗传与优生 染色体病 第四节 染色体病.doc
- 煤化工操作工岗位理论知识考试题集.docx
最近下载
- 日业BM500物料提升机变频一体机用户手册V1.0.pdf
- 2026年党章综合知识测试题(模拟题).docx VIP
- 初一相交线与平行线所有知识点总结和常考题提高难题压轴题练习(含答案解析).doc VIP
- 食材配送服务方案(通用16篇)精选全文完整版.pdf VIP
- 初一一元一次方程所有知识点总结和常考题提高难题压轴题练习(含答案解析).docx VIP
- 2025年江苏航空职业技术学院单招笔试英语试题库含答案解析.docx VIP
- 《林业碳汇计量与监测技术规程》.pdf VIP
- 初二平行四边形所有知识点总结和常考题提高难题压轴题练习(含答案解析).pdf VIP
- 2025年初二全等三角形所有知识点总结和常考题提高难题压轴题练习含答案解析.doc VIP
- (高清版)B-T 7251.1-2023 低压成套开关设备和控制设备 第1部分:总则.pdf VIP
原创力文档

文档评论(0)