Как упоминалось в rmaddy, вам необходимо использовать UIPickerView
. UIDatePicker
предназначен только для выбора даты/времени. Вот ссылка на документацию яблока:
https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIPickerView_Class/index.html
И вот несколько советов, которые помогут вам начать работу:
1) Создайте свойство типа UIPickerView
на вашем экземпляре UIViewController
. Я называю это pickerView
с целью демонстрации.
2) Либо выделите init pickerView
, либо привяжите его к pickerView
в файле раскадровки/xib.
3) Убедитесь, что вы установили delegate
из pickerView
, чтобы быть вашим примером UIViewController
.
4) Убедитесь, что экземпляр UIViewController
реализует следующие протоколы: UIPickerViewDataSource
и UIPickerViewDelegate
, добавив эту следующую строку кода рядом с описания интерфейса для UIViewController
подкласса:
<UIPickerViewDataSource, UIPickerViewDelegate>
5) На самом деле осуществить требуемое (как и любые дополнительные) UIPickerViewDataSource
и UIPickerViewDelegate
. Так вы сообщите своему pickerView
, сколько строк и столбцов оно имеет, а также какой текст заполнить указанные строки и столбцы.
Некоторые примеры кода приведен ниже:
// MyViewController.h
@interface MyViewController : UIViewController <UIPickerViewDataSource, UIPickerViewDelegate>
@property (weak, nonatomic) IBOutlet UIPickerView *pickerView;
@end
// MyViewController.m
@implementation MyViewController
- (void)viewDidLoad
{
[super viewDidLoad];
self.pickerView.delegate = self;
}
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
// components are like columns. one column for feet and one for inches
return 2;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
if(component == 0){
return [[self getUserDetailsHeightFeetOptions]count];
} else {
return [[self getUserDetailsHeightInchesOptions]count];
}
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
if(component == 0){
return [NSString stringWithFormat:@"%@", [[self getUserDetailsHeightFeetOptions]objectAtIndex:row]];
} else {
return [NSString stringWithFormat:@"%@", [[self getUserDetailsHeightInchesOptions]objectAtIndex:row]];
}
}
- (NSArray*)getUserDetailsHeightFeetOptions{
NSMutableArray *feetOptions = [[NSMutableArray alloc]init];
for (int i = 3; i < 8; i++) {
[feetOptions addObject:[NSNumber numberWithInt:i]];
}
return feetOptions;
}
- (NSArray*)getUserDetailsHeightInchesOptions{
NSMutableArray *inchesOptions = [[NSMutableArray alloc]init];
for (int i = 0; i < 12; i++) {
[inchesOptions addObject:[NSNumber numberWithInt:i]];
}
return inchesOptions;
}
Дата сборщиков являются для выбора даты. Используйте 'UIPickerView' для чего-нибудь еще. – rmaddy