简单的选择器
#import "RootViewController.h"
#define kScreenSize [UIScreen mainScreen].bounds.size
@interface RootViewController ()<UIPickerViewDataSource,UIPickerViewDelegate>
{
NSArray *_OrderMsg;
}
@property (nonatomic)NSInteger cancelcode;
@property (nonatomic,copy)NSString *cancelcause;
@property (nonatomic,strong)UITextField *pickerViewTextField;
@end
@implementation RootViewController
- (void)viewDidLoad {
[super viewDidLoad];
_OrderMsg=@[@"不支持货到付款",@"修改订单",@"重复订购",@"其他"];;
self.cancelcode=1;
self.cancelcause=_OrderMsg[0];
UIButton *selectbutton=[UIButton buttonWithType:UIButtonTypeCustom];
selectbutton.frame=CGRectMake(70, 100, 100, 40);
selectbutton.backgroundColor=[UIColor greenColor];
[selectbutton setTitle:@"选择器" forState:UIControlStateNormal];
[selectbutton setTitleColor:[UIColor grayColor] forState:UIControlStateNormal];
[selectbutton addTarget:self action:@selector(selectbutton:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:selectbutton];
}
-(void)selectbutton:(UIButton *)button{
//选择器
self.pickerViewTextField = [[UITextField alloc] initWithFrame:CGRectZero];
[self.view addSubview:self.pickerViewTextField];
UIPickerView *pickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 0, 0, 0)];
pickerView.showsSelectionIndicator = YES;
pickerView.dataSource = self;
pickerView.delegate = self;
// set change the inputView (default is keyboard) to UIPickerView
self.pickerViewTextField.inputView = pickerView;
// add a toolbar with Cancel & Done button
UIToolbar *toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, kScreenSize.width, 44)];
toolBar.barStyle = UIBarStyleBlackOpaque;
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithTitle:@"确定" style:UIBarButtonItemStyleDone target:self action:@selector(doneTouched:)];
UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc] initWithTitle:@"放弃" style:UIBarButtonItemStylePlain target:self action:@selector(cancelTouched:)];
// the middle button is to make the Done button align to right
[toolBar setItems:[NSArray arrayWithObjects:cancelButton, [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil], doneButton, nil]];
self.pickerViewTextField.inputAccessoryView = toolBar;
[self.pickerViewTextField becomeFirstResponder];
}
//添加 bar buttons 方法
-(void)cancelTouched:(UIBarButtonItem *)sender
{
// hide the picker view
[self.pickerViewTextField resignFirstResponder];
}
- (void)doneTouched:(UIBarButtonItem *)sender
{
// hide the picker view
[self.pickerViewTextField resignFirstResponder];
NSLog(@"%@",self.cancelcause);
}
//添加代理 UIPickerView
#pragma mark - UIPickerViewDataSource
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return [_OrderMsg count];
}
#pragma mark - UIPickerViewDelegate
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
NSString *item = [_OrderMsg objectAtIndex:row];
return item;
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
self.cancelcause = [_OrderMsg objectAtIndex:row];
if ([self.cancelcause isEqualToString:_OrderMsg[0]]) {
self.cancelcode=1;
}else if ([self.cancelcause isEqualToString:_OrderMsg[1]]) {
self.cancelcode=3;
}else if ([self.cancelcause isEqualToString:_OrderMsg[2]]) {
self.cancelcode=4;
}else if ([self.cancelcause isEqualToString:_OrderMsg[3]]) {
self.cancelcode=6;
}
}
@end
#import "RootViewController.h"
#define kScreenSize [UIScreen mainScreen].bounds.size
@interface RootViewController ()<UIPickerViewDataSource,UIPickerViewDelegate>
{
NSArray *_OrderMsg;
}
@property (nonatomic)NSInteger cancelcode;
@property (nonatomic,copy)NSString *cancelcause;
@property (nonatomic,strong)UITextField *pickerViewTextField;
@end
@implementation RootViewController
- (void)viewDidLoad {
[super viewDidLoad];
_OrderMsg=@[@"不支持货到付款",@"修改订单",@"重复订购",@"其他"];;
self.cancelcode=1;
self.cancelcause=_OrderMsg[0];
UIButton *selectbutton=[UIButton buttonWithType:UIButtonTypeCustom];
selectbutton.frame=CGRectMake(70, 100, 100, 40);
selectbutton.backgroundColor=[UIColor greenColor];
[selectbutton setTitle:@"选择器" forState:UIControlStateNormal];
[selectbutton setTitleColor:[UIColor grayColor] forState:UIControlStateNormal];
[selectbutton addTarget:self action:@selector(selectbutton:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:selectbutton];
}
-(void)selectbutton:(UIButton *)button{
//选择器
self.pickerViewTextField = [[UITextField alloc] initWithFrame:CGRectZero];
[self.view addSubview:self.pickerViewTextField];
UIPickerView *pickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 0, 0, 0)];
pickerView.showsSelectionIndicator = YES;
pickerView.dataSource = self;
pickerView.delegate = self;
// set change the inputView (default is keyboard) to UIPickerView
self.pickerViewTextField.inputView = pickerView;
// add a toolbar with Cancel & Done button
UIToolbar *toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, kScreenSize.width, 44)];
toolBar.barStyle = UIBarStyleBlackOpaque;
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithTitle:@"确定" style:UIBarButtonItemStyleDone target:self action:@selector(doneTouched:)];
UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc] initWithTitle:@"放弃" style:UIBarButtonItemStylePlain target:self action:@selector(cancelTouched:)];
// the middle button is to make the Done button align to right
[toolBar setItems:[NSArray arrayWithObjects:cancelButton, [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil], doneButton, nil]];
self.pickerViewTextField.inputAccessoryView = toolBar;
[self.pickerViewTextField becomeFirstResponder];
}
//添加 bar buttons 方法
-(void)cancelTouched:(UIBarButtonItem *)sender
{
// hide the picker view
[self.pickerViewTextField resignFirstResponder];
}
- (void)doneTouched:(UIBarButtonItem *)sender
{
// hide the picker view
[self.pickerViewTextField resignFirstResponder];
NSLog(@"%@",self.cancelcause);
}
//添加代理 UIPickerView
#pragma mark - UIPickerViewDataSource
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return [_OrderMsg count];
}
#pragma mark - UIPickerViewDelegate
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
NSString *item = [_OrderMsg objectAtIndex:row];
return item;
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
self.cancelcause = [_OrderMsg objectAtIndex:row];
if ([self.cancelcause isEqualToString:_OrderMsg[0]]) {
self.cancelcode=1;
}else if ([self.cancelcause isEqualToString:_OrderMsg[1]]) {
self.cancelcode=3;
}else if ([self.cancelcause isEqualToString:_OrderMsg[2]]) {
self.cancelcode=4;
}else if ([self.cancelcause isEqualToString:_OrderMsg[3]]) {
self.cancelcode=6;
}
}
@end