Configure UIDatePicker

I have configured the UIDatePicker to level and I am adding it to the UIAlertView.

enter image description here

but I get a black color at the bottom and top of the date picker, how to remove it. I want the date selection to be neat and clean.

The code I use for this:

UIDatePicker *datePicker = [[UIDatePicker alloc] init]; datePicker.frame=CGRectMake(20, 45.0, 240.0, 150.0); datePicker.minimumDate=[NSDate date]; //Forget about this logic. NSString * alertTitleString=@ ""; if(self.presentingViewController !=nil) { alertTitleString=@ "Select Date and Time"; [datePicker setDatePickerMode:UIDatePickerModeDateAndTime]; } else { alertTitleString=@ "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]; 
+5
source share
1 answer

Basically, what you want to do is remove the gradient above and below, right?

This will work, at least for iOS 5 and 6.

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

All Articles