[小白学iOS编程04]UIDatePicker控件学习(键盘处理)

注:[小白学iOS编程]是本小白根据某视频学习iOS编程过程的笔记记录,内容比较容易,高手勿喷。
转自请注明原博客地址:http://blog.csdn.net/fan_yufan/article/details/45932421

1. 效果图展示

这里写图片描述

2. 项目代码

2.1 代码编写

//
//  HMViewController.h
//  04-DatePicker(键盘处理)
//

#import <UIKit/UIKit.h>

@interface HMViewController : UIViewController

@end
//
//  HMViewController.m
//  04-DatePicker(键盘处理)
//

#import "HMViewController.h"

@interface HMViewController ()
@property (weak, nonatomic) IBOutlet UITextField *birthdayFiled;
//注意 此次的datePicker用weak有问题,最好用strong
@property(nonatomic,weak)UIDatePicker *datePicker;//日期选择

@end

@implementation HMViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    //代码创建UIDatePicker
    UIDatePicker *datePicker = [[UIDatePicker alloc] init];

    //设置datepicker的本地化
    NSArray *idents = [NSLocale availableLocaleIdentifiers];
    NSLog(@"%@",idents);
    //设置datepicker的本地化为中国
    datePicker.locale = [NSLocale
                         localeWithLocaleIdentifier:@"zh"];

    //设置datepicker模式
    datePicker.datePickerMode = UIDatePickerModeDate;//只显示日期,不显示时间
    //设置textFiled键盘
    self.birthdayFiled.inputView = datePicker;


//    UIView *grayView = [[UIView alloc] init];
//    grayView.bounds = CGRectMake(0, 0, 320, 44);
//    grayView.backgroundColor = [UIColor purpleColor];
    //代码创建UIToolbar
    UIToolbar *toolbar = [[UIToolbar alloc] init];
#warning 一定要设置bounds 否则UIBarButtonItem监听不了点击事件
    toolbar.bounds = CGRectMake(0, 0, 320, 44);
    toolbar.backgroundColor = [UIColor grayColor];

    //创建上一个按钮
    UIBarButtonItem *previous = [[UIBarButtonItem alloc] initWithTitle:@"上一个" style:UIBarButtonItemStylePlain target:nil action:nil];

    //创建下一个按钮
    UIBarButtonItem *next = [[UIBarButtonItem alloc] initWithTitle:@"下一个" style:UIBarButtonItemStylePlain target:nil action:nil];


    //弹簧
    UIBarButtonItem *tanhuangBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];

    //创建完成按钮
    UIBarButtonItem *finish = [[UIBarButtonItem alloc] initWithTitle:@"完成" style:UIBarButtonItemStylePlain target:self action:@selector(finishSelectedDate)];



    //[toolbar setItems:<#(NSArray *)#>]
    toolbar.items = @[previous,next,tanhuangBtn,finish];

    //设置inputAccessoryView,就能在键盘上面添加辅助的view
    self.birthdayFiled.inputAccessoryView = toolbar;

    self.datePicker = datePicker;
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

-(void)finishSelectedDate{
    //获取时间
    NSDate *selectedDate = self.datePicker.date;

    //格式化日期(2014-08-25)
    //格式化日期类
    NSDateFormatter *formater = [[NSDateFormatter alloc] init];

    //设置日期格式
    formater.dateFormat = @"yyyy-MM-dd";

    NSString *dateStr = [formater stringFromDate:selectedDate];
    NSLog(@"%@",dateStr);

    //设置textfiled的文本

    self.birthdayFiled.text = dateStr;

    //隐藏键盘
    [self.birthdayFiled resignFirstResponder];
}

@end

3. 知识点总结

3.1 有时iOS simulator中第一次点击 文本框 未弹出系统键盘是什么原因?
解决方法:点击iOS simulator菜单栏中 Hardware–>Keyboard–>Toggle Software Keyboard.即可解决问题了。

4. 素材内容链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值