2013-04-29 10 views
5

Mam dostosowany UIDatePicker do poziomu i dodaję go do UIAlertView.Dostosowywanie UIDatePicker

enter image description here

ale jestem coraz czarny kolor na dolnej i górnej części wyboru daty, jak go usunąć. Chcę, aby selektor daty był czysty i czysty.

Kod używam do osiągnięcia tego celu:

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

jak Didi zrobiłeś, niż może udostępnić niektóre przykładowy kod tutaj plz –

+0

@KAREEMMAHAMMED Zobacz moją zmianę. – satheeshwaran

+0

Myślę, że nie jest to możliwe w przypadku iOS 6, UIDatePicker nie jest podklasą UIPickerView. –

Odpowiedz

1

zasadzie to, co chcesz zrobić, to usunąć gradient na górze i na dole, prawda?

to będzie działać, przynajmniej dla iOS 5 i 6.

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

Dzięki, sprawdzisz, czy to działa, ale wszystko zmieni się, gdy zmieni się selektor dat dla iOS7. – satheeshwaran