2012-01-16 14 views
4

UIDatepickerのtimeIntervalを30分に設定しているので、30,60(繰り返し)と表示されます。私は本当にそれを繰り返す必要はありません、ちょうど2つのオプションを表示する(AM/PMのような)。それをゼロから作成せずにこれを行う方法はありますか?UIDatePicker不連続の分

ありがとうございます!

+1

ここでは全く問題はありませんか? –

+0

私はそれをすることができませんでした。あまりにも時間がかかるので、私はちょうどそれを書き直さなかった。 – user754905

答えて

1

代わりにUIPickerを使用してみませんか?

UIPickerView *pick=[[UIPickerView alloc] initWithFrame:CGRectMake(300, datep.frame.origin.y, datep.frame.size.width, datep.frame.size.height)]; 
[pick setDelegate:self]; 
[pick setDataSource:self]; 
[pick setShowsSelectionIndicator:YES]; 
[self.view addSubview:pick]; 

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{ 
return 3; 
} 
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{ 
if(component==0){ 
    return 12; 
}else{ 
    return 2; 
} 

return 2; 
} 

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{ 
if(component==1){ 
    if(row==1) 
     return @"30"; 
    else 
     return @"00"; 
    } 
else if(component==0){ 
    return [NSString stringWithFormat:@"%d", row+1]; 
}else{ 
    if(row==1) 
     return @"AM"; 
    else 
     return @"PM"; 
    }  
} 

-(CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component{ 
return 50; 
} 

- (CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component{ 
return 50; 
}