UIDatePicker简单运用

第一次自己写博客,如有写的不好的地方还请指教。

iOS自带的时间选择器还是很好用的,界面简洁,效果很好。

  1. 首先创建两个Label:用来现实开始时间和结束时间
   UILabel *beginLabel = [[UILabel alloc] initWithFrame:CGRectMake(20, 50, 50, 25)];
   beginLabel.text = @"开始日期:";
   beginLabel.font = [UIFont systemFontOfSize:11];

   UILabel *endLabel = [[UILabel alloc] initWithFrame:CGRectMake(165, 50, 50, 25)]; 
   endLabel.text = @"结束日期:";
   endLabel.font = [UIFont systemFontOfSize:11];
  1. 创建DatePicker
    UIDatePicker *datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(20, 50, 300, 200)];
    datePicker.datePickerMode = UIDatePickerModeDate;
    datePicker.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"];
    NSDate *maxDate = [[NSDate alloc] initWithTimeIntervalSinceNow:0];
    datePicker.maximumDate = maxDate;    //将今天设置为最大时间
  1. 创建ToolBar:可以设置一些功能按钮
    UIToolbar *beginToolbar = [[UIToolbar alloc] init];
    beginToolbar.barTintColor = [UIColor blackColor];
    beginToolbar.frame = CGRectMake(0, 0, 320, 44);

    UIBarButtonItem *spaceItem=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
    UIBarButtonItem *beginItem=[[UIBarButtonItem alloc]initWithTitle:@"确定" style:UIBarButtonItemStylePlain target:self action:@selector(beginDateClick)];
    beginItem.tintColor = [UIColor whiteColor];
    beginToolbar.items = @[spaceItem, beginItem];


    //确定按钮的Action
    - (void)beginDateClick {

    if (!currentMinDate) {
        currentMinDate = [[NSDate alloc] init];
    }
    currentMinDate = [datePicker date];

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd"];
    NSString *dateString = [dateFormatter stringFromDate:currentMinDate];

    if (![endDateText.text isEqual:@""]) {   //开始时间小于结束时间

        NSDate *date = [dateFormatter dateFromString:endDateText.text];
        NSTimeInterval interval = [currentMinDate timeIntervalSinceDate:date];
        //如果没有保存的时分秒会置为0,比较的时候注意
        if (interval <= kDay) {
            beginDateText.text = dateString;
            [beginDateText resignFirstResponder];
        }else {
            UIAlertView *beginAlert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"开始日期不能大于结束日期!" delegate:self cancelButtonTitle:@"确定" otherButtonTitles: nil];
            [beginAlert show];
        }
    }else {
        beginDateText.text = dateString;
        [beginDateText resignFirstResponder];
    }
}

    UIToolbar *endToolbar......//类似beginToolbar
  1. 创建两个TextField:用TextField的属性来使用DatePicker
    UITextField *beginDateText = [[UITextField alloc] initWithFrame:CGRectMake(75, 50, 85, 25)];
    beginDateText.borderStyle = UITextBorderStyleRoundedRect;
    beginDateText.font = [UIFont systemFontOfSize:12];
    beginDateText.inputView = datePicker;
    beginDateText.inputAccessoryView = beginToolbar;

    UITextField *endDateText = [[UITextField alloc] initWithFrame:CGRectMake(215, 50, 85, 25)]......//类似beginDateText

因为时间原因,写的比较仓促,还请谅解。希望能再iOS开发的道路上共同前进,谢谢。
2015.6.4 于 Beijing.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值