我正在为iOS创建一个健康和健身应用程序。作为用户注册的一部分,他们必须输入身高。我要求用户使用日期选择器执行此操作,但是我不确定如何执行此操作。任何人都有任何常规技巧或链接可以指导我正确的方向吗?
干杯!
就像rmaddy提到的那样,您将需要使用UIPickerView
。UIDatePicker
仅用于选择日期/时间。这是苹果文档的链接:
以下是一些帮助您入门的提示:
1)UIPickerView
在的实例上创建type属性UIViewController
。我称其pickerView
为演示目的。
2)pickerView
分配init或将其链接到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;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句