码迷,mamicode.com
首页 > 移动开发 > 详细

iOS开发小功能的自学思路(弹出生日键盘为例)

时间:2016-04-21 08:49:07      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:

技术分享技术分享

技术分享

 

 

 1     #import "ViewController.h"
 2 
 3     @interface ViewController () <UITextFieldDelegate>
 4     @property (weak, nonatomic) IBOutlet UITextField *birthdayLabel;
 5     @property (strong, nonatomic)UIDatePicker *datePicker;
 6     
 7     @end
 8     
 9     @implementation ViewController
10     
11     - (void)viewDidLoad {
12         [super viewDidLoad];
13         _birthdayLabel.delegate = self;
14         
15     //    设置自定义键盘
16         [self setupBirthdayKeyboard];
17         
18     }
19     
20     - (void)setupBirthdayKeyboard
21     {
22     //    创建UIDatePicker,有默认的frame,所以不用设置尺寸
23         UIDatePicker *picker = [[UIDatePicker alloc] init];
24         _datePicker = picker;
25     //    设置本地化(本地语言)
26         picker.locale = [NSLocale localeWithLocaleIdentifier:@"zh"];
27     //    设置时间显示格式,还有其他好多种
28         picker.datePickerMode = UIDatePickerModeDate;
29        
30         //监听UIDatePicker的滚动
31         [picker addTarget:self action:@selector(dateChange:) forControlEvents:UIControlEventValueChanged];
32          self.birthdayLabel.inputView = picker;
33     }
34     
35     - (void)dateChange:(UIDatePicker *)datePicker
36     {
37     //    这样就可以获得生日键盘的  datePicker.date
38     //    NSLog(@"%@",datePicker.date);
39     //    NSLog(@"%s",__func__);
40         
41         
42         //把获得的日期转化成字符串,赋值到birthdayLabel中
43         NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
44         fmt.dateFormat = @"yyyy-MM-dd";
45         NSString *datestr = [fmt stringFromDate:datePicker.date];
46         _birthdayLabel.text = datestr;
47         
48     }
49     
50     //是否允许开始编辑
51     //- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
52     //{
53     //    return NO;
54     //}
55     //是否允许用户改变字符(是否允许输入文字)
56     - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
57         return NO;
58     }
59     - (void)textFieldDidBeginEditing:(UITextField *)textField
60     {
61         //获取当前dataPicker的日期
62          [self dateChange:_datePicker];
63     }
64     - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
65     {
66         [self.view endEditing:YES];
67     }
68     @end

 

iOS开发小功能的自学思路(弹出生日键盘为例)

标签:

原文地址:http://www.cnblogs.com/hissia/p/5415479.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!