2013-04-29 29 views
5

UIDatePicker'ı bir düzeye uyarladım ve UIAlertView'a ekliyorum.UIDatePicker özelleştirme

enter image description here

ama altta siyah bir renk ve tarih seçici üst alıyorum, nasıl çıkarılır. Tarih seçicinin temiz ve temiz olmasını istiyorum.

Bunu başarmak için kullanın kodu:

UIDatePicker *datePicker = [[UIDatePicker alloc] init]; 
datePicker.frame=CGRectMake(20, 45.0, 240.0, 150.0); 
datePicker.minimumDate=[NSDate date]; 

//Forget about this logic. 

NSString *[email protected]""; 
if(self.presentingViewController !=nil) 
{ 
    [email protected]"Select Date and Time"; 
    [datePicker setDatePickerMode:UIDatePickerModeDateAndTime]; 
} 
else 
{ 
    [email protected]"Select Time"; 
    [datePicker setDatePickerMode:UIDatePickerModeTime]; 

} 
[datePicker setDate:[NSDate date]]; 

UIView *view = [[datePicker subviews] objectAtIndex:0]; 
[view setBackgroundColor:[UIColor clearColor]]; // hide the first and the last subviews 
[[[view subviews] objectAtIndex:0] setHidden:YES]; 
[[[view subviews] lastObject] setHidden:YES]; 



UIAlertView *eventStartDateAlert = [[UIAlertView alloc] initWithTitle:alertTitleString message:@"\n\n\n\n\n\n\n\n" delegate:self cancelButtonTitle:NSLocalizedString(@"OK", @"Ok") otherButtonTitles:nil]; 
eventStartDateAlert.delegate = self; 
[eventStartDateAlert addSubview:datePicker]; 
[eventStartDateAlert show]; 
+0

sen benim düzenlemeyi bakın @KAREEMMAHAMMED plz –

+0

bazı örnek kod paylaşabilir daha yapılması didi nasıl. – satheeshwaran

+0

Bunun iOS 6 ile mümkün olmadığını düşünüyorum, UIDatePicker UIPickerView alt sınıfı değildir. –

cevap

1

Temelde yapmak istediğini, sağ, üst ve alt gradyanı kaldırmak için mi?

Bu, en az iOS 5 için işe gidiyor ve 6.

[view.subviews[5] setHidden:YES]; 
[view.subviews[11] setHidden:YES]; 
[view.subviews[17] setHidden:YES]; 
+0

Teşekkürler, bu çalışıp çalışmadığını kontrol edecek, ancak iOS7 için tarih seçicinin yenilenmesiyle her şey değişecek. – satheeshwaran