iOS 용 건강 및 피트니스 앱을 만들고 있습니다. 사용자 등록의 일부로 키를 입력해야합니다. 사용자에게 날짜 선택기를 사용하여이 작업을 수행하도록 요청하고 있지만이 작업을 어떻게 수행할지 확신 할 수 없습니다. 누구든지 나를 올바른 방향으로 안내 할 수있는 일반적인 팁이나 링크가 있습니까?
건배!
rmaddy가 언급 한 것처럼 UIPickerView
. UIDatePicker
날짜 / 시간 선택 전용입니다. 다음은 Apple 문서에 대한 링크입니다.
다음은 시작하는 데 도움이되는 몇 가지 팁입니다.
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;
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다