UIPickerView
Basic example
Section titled “Basic example”class PickerViewExampleViewController : UIViewController, UIPickerViewDelegate, UIPickerViewDataSource { @IBOutlet weak var btnFolder: UIButton! let pickerView = UIPickerView() let pickerViewRows = ["First row,", "Secound row,","Third row,","Fourth row"]
override func viewDidLoad() { super.viewDidLoad() self.btnFolder.addTarget(self, action: #selector(CreateListVC.btnFolderPress), forControlEvents: UIControlEvents.TouchUpInside) }
@objc private func btnFolderPress() { self.pickerView.delegate = self self.pickerView.dataSource = self self.view.addSubview(self.pickerView) }
//MARK: UIPickerViewDelegate
func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { return self.pickerViewRows[row] }
//MARK: UIPickerViewDataSource
func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int { return 1 }
func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { return self.pickerViewRows.count }
}Objective-C
Section titled “Objective-C”@property (nonatomic,strong) UIPickerView *countryPicker;@property (nonatomic,strong) NSArray *countryNames;
- (void)viewDidLoad { [super viewDidLoad]; _countryNames = @[@"Australia (AUD)", @"China (CNY)", @"France (EUR)", @"Great Britain (GBP)", @"Japan (JPY)",@"INDIA (IN)",@"AUSTRALIA (AUS)",@"NEW YORK (NW)"];
[self pickcountry]; }
-(void)pickcountry { _countryPicker = [[UIPickerView alloc]init];
_countryPicker.delegate = self; _countryPicker.dataSource = self;
[[UIPickerView appearance] setBackgroundColor:[UIColor colorWithRed:21/255.0 green:17/255.0 blue:50/255.0 alpha:1.0]];}
#pragma mark- pickerView Delegates And datasource
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView { return 1;}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component { return _countryNames.count;}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component { return _countryNames[row];}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { NSString *pickedCountryName = _countryNames[row];}Changing pickerView Background Color and text color
Section titled “Changing pickerView Background Color and text color”Objective-C
//Displays the country pickerView with black background and white text[self. countryPicker setValue:[UIColor whiteColor] forKey:@"textColor"];[self. countryPicker setValue:[UIColor blackColor] forKey:@"backgroundColor"];Swift
let color1 = UIColor(colorLiteralRed: 1, green: 1, blue: 1, alpha: 1)let color2 = UIColor(colorLiteralRed: 0, green: 0, blue: 0, alpha: 1)pickerView2.setValue(color1, forKey: "textColor")pickerView2.setValue(color2, forKey: "backgroundColor")