IOS学习笔记(二)UIDatePicker

控件长宽尽量用变量来定义,不要直接用数值。

 

1.textField中有一设置显示灰色提示字样的方法    setPlaceholder:(NSString *) ;  <

2.当选中textField控件时,弹出新视图,将新视图设置为日期选中控件。即选中textField则弹出日期选择控件 [textField setInputView:dataPicker];  <

3.从本地加载文件时一般方式:

    NSString *gifpath = [[NSBundle mainBundle] pathForResource:@"ball" ofType:@"jpg"];

    FLAnimatedImage *image = [[FLAnimatedImage alloc] initWithAnimatedGIFData:[NSData dataWithContentsOfFile:gifpath]];

加载文件一般通过路径索引,所以先定义path,在用path去加载。

 

 

 

UIDatePicker  日期选择控件

1.模式:日期-时间, 日期, 时间。

设置模式为日期   [dataPicker setDatePickerMode:UIDatePickerModeDate]; <

设置Local,即显示语言。将语言设置为中文  [datePicker setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"zh_Hans_CN"]];  <

监听日期选择控件数值变化  [datePicker addTarget:self action:(SEL) forControlEvents:UIControlEventValueChanged]; <

 

 

UIPickView   主要功能是从指定的数据源中选择数据,即从各种格式的数据源选择数据。使用PickView之前需要指定数据源。

数据源方法:

  - (NSInteger)numberOfComponentsInPickerView:       <          返回总行数

  -(NSInteger)pickerView:   numberOfRowsInComponent:     <    返回第component列的行数

  [pickerView reloadComponent:1;     <  刷新数据方法

代理需添加协议 <UIPickerViewDataSource, UIPickerViewDelegate>

代理可以给UIPickerView提供具体的数据、监听UIPickerView的一些事件   。   代理必须遵守UIPickerViewDelegate协议,常用代理方法如下:

  - (NSString *)pickerView:   titleForRow:  forComponet:        <       第component列第row行显示什么字符串内容

  -(void) pickerView:   didSelectRow:  inComponent:                <       每当选择了新的一行就会调用

代理方法扩展

  -(UIView *)pickerView:   viewForRow:   forComponent:   reusingView:     <   第coomponent列第row行显示什么样的UIView,最后一个view参数是用来性能优化的

  此处返回值同样可以是NSString     等等对象。

  -(CGFloat)pickerView:   rowHeightForComponent:            <    返回第component列每一行的高度  

 

 

用plist文件初始化一个数组:   NSString *path = [NSBundle mainBundle] pathForResource:@"flags" ofType:@"plist"];        

              [_dataList = [NSArray arrayWithContentOfFile:path];

设置选中指示器       [picker setShowsSelectionIndicator:YES];      

ios中,很多视图的高度均习惯性设置成  44  ,需注意。

 

1.直接 NSLog(@"%@", datePicker);  可将datePicker的属性进行输出。

 

2.将日期输出     [datePicker.date.description]   此方式粗糙显示信息,一般不用。

要转换日期格式,需要使用NSDateFormatter, 专门用来转换日期格式的对象 。

先设置日期的格式字符串:NSDateformatter *formatter = [[NSDateFormatter alloc] init]; 

             [formatter setDateFormat:@"yyyy-MM-dd"];    

然后使用格式字符串,将日期转换成字符串:NSString *dateString = [formatter stringFromDate:datePicker.date]

 

3.设置日期控件的初始值

    NSString *dateString = @"1949-10-1";

    NSDateformatter *formatter = [[NSDateFormatter alloc] init];

    [formatter setDateformat:@"yyyy-MM-dd"];

    NSDate *date = [formatter dateFromString:dateString];

    [datePicker setDate:date];

 

posted @ 2015-01-21 08:49  小四也软开  阅读(253)  评论(0编辑  收藏  举报