iOS自定义日期、时间、城市选择器实例代码

2020-01-20 13:15:50丽君

四、如何使用已创建好的自定义选择器

引入自定义好的选择器,声明相关属性,签相关协议


#import "ViewController.h"
#import "WXZPickDateView.h"
#import "WXZPickAreaView.h"
#import "WXZPickTimeView.h"
#import "WXZCustomPickView.h"
@interface ViewController ()<PickerDateViewDelegate,PickerAreaViewDelegate,PickTimeViewDelegate,CustomPickViewDelegate>{
  UIButton *dateButton;
  UIButton *selectAreabutton;
  UIButton *selectTimeButton;
  UIButton *singlePickViewSelectButton;
  BOOL isShowDay;//是否显示日信息
}

@end

创建相应的按钮,触发相应的选择器


- (void)viewDidLoad {
  [super viewDidLoad];

  dateButton=[UIButton buttonWithType:UIButtonTypeCustom];
  dateButton.frame=CGRectMake(100, 100, 100, 50);
  [dateButton setTitle:@"选择日期" forState:UIControlStateNormal];
  [self.view addSubview:dateButton];
  [dateButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
  [dateButton addTarget:self action:@selector(pickViewSelect:) forControlEvents:UIControlEventTouchUpInside];
  dateButton.tag = 1000;

   selectAreabutton=[UIButton buttonWithType:UIButtonTypeCustom];
  selectAreabutton.frame=CGRectMake(100, 200, 100, 50);
  [selectAreabutton setTitle:@"选择地区" forState:UIControlStateNormal];
  [self.view addSubview:selectAreabutton];
  [selectAreabutton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
  [selectAreabutton addTarget:self action:@selector(pickViewSelect:) forControlEvents:UIControlEventTouchUpInside];
  selectAreabutton.tag = 1001;
  selectTimeButton=[UIButton buttonWithType:UIButtonTypeCustom];
  selectTimeButton.frame=CGRectMake(100, 300, 100, 50);
  [selectTimeButton setTitle:@"选择时间" forState:UIControlStateNormal];
  [self.view addSubview:selectTimeButton];
  [selectTimeButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
  [selectTimeButton addTarget:self action:@selector(pickViewSelect:) forControlEvents:UIControlEventTouchUpInside];
  selectTimeButton.tag = 1002;

  singlePickViewSelectButton=[UIButton buttonWithType:UIButtonTypeCustom];
  singlePickViewSelectButton.frame=CGRectMake(100, 400, 100, 50);
  [singlePickViewSelectButton setTitle:@"单个数据选择器" forState:UIControlStateNormal];
  [self.view addSubview:singlePickViewSelectButton];
  [singlePickViewSelectButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
  [singlePickViewSelectButton addTarget:self action:@selector(pickViewSelect:) forControlEvents:UIControlEventTouchUpInside];
  singlePickViewSelectButton.tag = 1003;

}

按钮的点击事件:


-(void)pickViewSelect:(UIButton *)button{
  if (button.tag==1000) {

      WXZPickDateView *pickerDate = [[WXZPickDateView alloc]init];


      [pickerDate setIsAddYetSelect:YES];//是否显示至今选项
      [pickerDate setIsShowDay:YES];//是否显示日信息
      [pickerDate setDefaultTSelectYear:2007 defaultSelectMonth:4 defaultSelectDay:1];//设定默认显示的日期
      [pickerDate setValidTime:2010];

      [pickerDate setDelegate:self];

      [pickerDate show];
  }else if (button.tag==1001){
    WXZPickAreaView *pickerArea = [[WXZPickAreaView alloc]init];

    [pickerArea setDelegate:self];

    [pickerArea setDefaultCity:@"上海" DefaultProvience:@"上海"];

    [pickerArea show];
    [self.view endEditing:YES];
  }else if (button.tag==1002){
    WXZPickTimeView *pickerArea = [[WXZPickTimeView alloc]init];

    [pickerArea setDelegate:self];

    [pickerArea setDefaultHour:14 defaultMinute:20];

    [pickerArea show];
    [self.view endEditing:YES];
  }else{
    NSMutableArray *arrayData = [NSMutableArray arrayWithObjects:@"2k以下",@"2k-5k",@"5k-10k",@"10k-15k",@"15k-25k",@"25k-50k",@"50k以上", nil];

    WXZCustomPickView *pickerSingle = [[WXZCustomPickView alloc]init];

    [pickerSingle setDataArray:arrayData];
    [pickerSingle setDefalutSelectRowStr:arrayData[0]];


    [pickerSingle setDelegate:self];

    [pickerSingle show];
    [self.view endEditing:YES];

  }
}