1.在main.storyboard 或者viewcontroller.xib 拖出一个UIPickerView 控件和button 控件;

如图

2.

1 选中Picker View控件,

2 打开Connections Inspector,

 3  4 找到delegate和datasource,从它们右边的圆圈拉线到File’s Owner:

如图

3.在当前视图view 的头文件DebbieViewController.h

添加委托 

<UIPickerViewDelegate,UIPickerViewDataSource>

同时添加了pickerview 所需的数据源;

#import <UIKit/UIKit.h>

@interface DebbieViewController : UIViewController<UIPickerViewDelegate,UIPickerViewDataSource>

@property (weak, nonatomic) IBOutlet UIPickerView *mPickerview;

@property (weak, nonatomic) IBOutlet UIButton *show;

@property (strong,nonatomic) NSArray *datasourse;

@end

4.在当前的视图view的 DebbieViewController.m

实现委托的方法

#pragma mark -
#pragma mark Picker Data Source Methods

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
    return 1;
}

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
    return [datasourse count];
}

#pragma mark Picker Delegate Methods
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row             forComponent:(NSInteger)component {
    return [datasourse objectAtIndex:row];
}

4.为pickview 设置数据源;

@synthesize datasourse;
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    NSArray *dataarray=[[NSArray alloc] initWithObjects: @"one",@"two",@"three",@"four",@"fire" ,nil];
    self.datasourse=dataarray;
}

5. 显示选择的结果;

-(void) showselect{
    NSInteger row = [self.mPickerview selectedRowInComponent:0];
    NSString *selected = [datasourse objectAtIndex:row];
    NSString *msg = [[NSString alloc] initWithFormat:
                     @"You selected %@!", selected];
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Hello!"
                                                    message:msg
                                                   delegate:nil
                                          cancelButtonTitle:@"Yes, I Did."
                                          otherButtonTitles:nil];
    [alert show];
    
}

posted on 2014-12-24 18:10  ทดสอบ  阅读(673)  评论(0)    收藏  举报