IOS中的各种Picker
来源:未知 责任编辑:责任编辑 发表时间:2015-09-17 09:44 点击:次
	   
	
	  
	  
	  简述
p> 
p>在应用的一些设置中经常要用到一些Picker来快速帮助用户选定取值,一般会用到的有UIDatePicker,UIPickerView以及UIImagePickerController。
p> 
p>初始界面
p> 
p> p> 
p>如图,在搭建好的界面,实现方法来完成各个选择。首先是日期选择
p> 
p>UIDatePicker
p> 
p>主要需要设置的属性有
p>locale
p>datePickerMode
p> 
p>[cpp] 
p>UIDatePicker *datePicker = [[UIDatePicker alloc] init];  
p>datePicker.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_Hans_cn"];  
p>datePicker.datePickerMode = UIDatePickerModeDate;  
p>  
p>NSString *stdDate = @"1990-01-01";  
p>NSDateFormatter *formatter = [[NSDateFormatter alloc] init];  
p>formatter.dateFormat = @"yyyy-MM-dd";  
p>[datePicker setDate:[formatter dateFromString:stdDate] animated:YES];  
p>[datePicker addTarget:self action:@selector(showDate:) forControlEvents:UIControlEventValueChanged];  
p>  
p>_dateField.inputView = datePicker;  
p>_dateField.text = stdDate;  
p> 
p>在这里,我们也对它的初始日期进行了设置。
p> 
p>对齐事件进行监听即可达到目的,并没有代理协议。
p> 
p>[cpp]  
p>- (void)showDate:(UIDatePicker *)datePicker  
p>{  
p>    NSDate *date = datePicker.date;  
p>    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];  
p>    formatter.dateFormat = @"yyyy-MM-dd";  
p>    NSString *outputString = [formatter stringFromDate:date];  
p>      
p>    _dateField.text = outputString;  
p>}  
p> 
p> 
p> 
p>UIImagePickerController
p> 
p>如果不自定义选取照片视图的话,实现照片或者拍照选取功能十分简单,设置协议就可以快速调用。
p> 
p>[cpp]  
p>UIImagePickerController *imagePC = [[UIImagePickerController alloc] init];  
p>//从照片库中选择图片, 也可以设置相机  
p>imagePC.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;  
p>//允许对图片进行简单的编辑  
p>imagePC.allowsEditing = YES;  
p>imagePC.delegate = self;  
p>[self presentViewController:imagePC animated:YES completion:nil];  
p> 
p>协议方法获取图片并进行设置
p> 
p>[cpp]  
p>- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info  
p>{  
p>    const NSString *REditedImageIdentifier = @"UIImagePickerControllerEditedImage";  
p>      
p>    UIImage *image = info[REditedImageIdentifier];  
p>    [_imageButton setImage:image forState:UIControlStateNormal];  
p>
p> 
p>如图,在搭建好的界面,实现方法来完成各个选择。首先是日期选择
p> 
p>UIDatePicker
p> 
p>主要需要设置的属性有
p>locale
p>datePickerMode
p> 
p>[cpp] 
p>UIDatePicker *datePicker = [[UIDatePicker alloc] init];  
p>datePicker.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_Hans_cn"];  
p>datePicker.datePickerMode = UIDatePickerModeDate;  
p>  
p>NSString *stdDate = @"1990-01-01";  
p>NSDateFormatter *formatter = [[NSDateFormatter alloc] init];  
p>formatter.dateFormat = @"yyyy-MM-dd";  
p>[datePicker setDate:[formatter dateFromString:stdDate] animated:YES];  
p>[datePicker addTarget:self action:@selector(showDate:) forControlEvents:UIControlEventValueChanged];  
p>  
p>_dateField.inputView = datePicker;  
p>_dateField.text = stdDate;  
p> 
p>在这里,我们也对它的初始日期进行了设置。
p> 
p>对齐事件进行监听即可达到目的,并没有代理协议。
p> 
p>[cpp]  
p>- (void)showDate:(UIDatePicker *)datePicker  
p>{  
p>    NSDate *date = datePicker.date;  
p>    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];  
p>    formatter.dateFormat = @"yyyy-MM-dd";  
p>    NSString *outputString = [formatter stringFromDate:date];  
p>      
p>    _dateField.text = outputString;  
p>}  
p> 
p> 
p> 
p>UIImagePickerController
p> 
p>如果不自定义选取照片视图的话,实现照片或者拍照选取功能十分简单,设置协议就可以快速调用。
p> 
p>[cpp]  
p>UIImagePickerController *imagePC = [[UIImagePickerController alloc] init];  
p>//从照片库中选择图片, 也可以设置相机  
p>imagePC.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;  
p>//允许对图片进行简单的编辑  
p>imagePC.allowsEditing = YES;  
p>imagePC.delegate = self;  
p>[self presentViewController:imagePC animated:YES completion:nil];  
p> 
p>协议方法获取图片并进行设置
p> 
p>[cpp]  
p>- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info  
p>{  
p>    const NSString *REditedImageIdentifier = @"UIImagePickerControllerEditedImage";  
p>      
p>    UIImage *image = info[REditedImageIdentifier];  
p>    [_imageButton setImage:image forState:UIControlStateNormal];  
p>      
	
	
        
        
        
	
         p> 
p>如图,在搭建好的界面,实现方法来完成各个选择。首先是日期选择
p> 
p>UIDatePicker
p> 
p>主要需要设置的属性有
p>locale
p>datePickerMode
p> 
p>[cpp] 
p>UIDatePicker *datePicker = [[UIDatePicker alloc] init];  
p>datePicker.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_Hans_cn"];  
p>datePicker.datePickerMode = UIDatePickerModeDate;  
p>  
p>NSString *stdDate = @"1990-01-01";  
p>NSDateFormatter *formatter = [[NSDateFormatter alloc] init];  
p>formatter.dateFormat = @"yyyy-MM-dd";  
p>[datePicker setDate:[formatter dateFromString:stdDate] animated:YES];  
p>[datePicker addTarget:self action:@selector(showDate:) forControlEvents:UIControlEventValueChanged];  
p>  
p>_dateField.inputView = datePicker;  
p>_dateField.text = stdDate;  
p> 
p>在这里,我们也对它的初始日期进行了设置。
p> 
p>对齐事件进行监听即可达到目的,并没有代理协议。
p> 
p>[cpp]  
p>- (void)showDate:(UIDatePicker *)datePicker  
p>{  
p>    NSDate *date = datePicker.date;  
p>    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];  
p>    formatter.dateFormat = @"yyyy-MM-dd";  
p>    NSString *outputString = [formatter stringFromDate:date];  
p>      
p>    _dateField.text = outputString;  
p>}  
p> 
p> 
p> 
p>UIImagePickerController
p> 
p>如果不自定义选取照片视图的话,实现照片或者拍照选取功能十分简单,设置协议就可以快速调用。
p> 
p>[cpp]  
p>UIImagePickerController *imagePC = [[UIImagePickerController alloc] init];  
p>//从照片库中选择图片, 也可以设置相机  
p>imagePC.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;  
p>//允许对图片进行简单的编辑  
p>imagePC.allowsEditing = YES;  
p>imagePC.delegate = self;  
p>[self presentViewController:imagePC animated:YES completion:nil];  
p> 
p>协议方法获取图片并进行设置
p> 
p>[cpp]  
p>- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info  
p>{  
p>    const NSString *REditedImageIdentifier = @"UIImagePickerControllerEditedImage";  
p>      
p>    UIImage *image = info[REditedImageIdentifier];  
p>    [_imageButton setImage:image forState:UIControlStateNormal];  
p>
p> 
p>如图,在搭建好的界面,实现方法来完成各个选择。首先是日期选择
p> 
p>UIDatePicker
p> 
p>主要需要设置的属性有
p>locale
p>datePickerMode
p> 
p>[cpp] 
p>UIDatePicker *datePicker = [[UIDatePicker alloc] init];  
p>datePicker.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_Hans_cn"];  
p>datePicker.datePickerMode = UIDatePickerModeDate;  
p>  
p>NSString *stdDate = @"1990-01-01";  
p>NSDateFormatter *formatter = [[NSDateFormatter alloc] init];  
p>formatter.dateFormat = @"yyyy-MM-dd";  
p>[datePicker setDate:[formatter dateFromString:stdDate] animated:YES];  
p>[datePicker addTarget:self action:@selector(showDate:) forControlEvents:UIControlEventValueChanged];  
p>  
p>_dateField.inputView = datePicker;  
p>_dateField.text = stdDate;  
p> 
p>在这里,我们也对它的初始日期进行了设置。
p> 
p>对齐事件进行监听即可达到目的,并没有代理协议。
p> 
p>[cpp]  
p>- (void)showDate:(UIDatePicker *)datePicker  
p>{  
p>    NSDate *date = datePicker.date;  
p>    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];  
p>    formatter.dateFormat = @"yyyy-MM-dd";  
p>    NSString *outputString = [formatter stringFromDate:date];  
p>      
p>    _dateField.text = outputString;  
p>}  
p> 
p> 
p> 
p>UIImagePickerController
p> 
p>如果不自定义选取照片视图的话,实现照片或者拍照选取功能十分简单,设置协议就可以快速调用。
p> 
p>[cpp]  
p>UIImagePickerController *imagePC = [[UIImagePickerController alloc] init];  
p>//从照片库中选择图片, 也可以设置相机  
p>imagePC.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;  
p>//允许对图片进行简单的编辑  
p>imagePC.allowsEditing = YES;  
p>imagePC.delegate = self;  
p>[self presentViewController:imagePC animated:YES completion:nil];  
p> 
p>协议方法获取图片并进行设置
p> 
p>[cpp]  
p>- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info  
p>{  
p>    const NSString *REditedImageIdentifier = @"UIImagePickerControllerEditedImage";  
p>      
p>    UIImage *image = info[REditedImageIdentifier];  
p>    [_imageButton setImage:image forState:UIControlStateNormal];  
p>      
	相关新闻>>
- 发表评论
- 
				
- 最新评论 进入详细评论页>>









![[iPhone中级]iPhone团购信息客户端的开发 (二)](/uploads/allimg/131022/200H11235-0-lp.png)
