2013-04-29 3 views
5

Я настроил UIDatePicker на уровень, и добавляю его в UIAlertView.Настройка UIDatePicker

enter image description here

, но я получаю черный цвет на нижней и верхней части выбора даты, как удалить его. Я хочу, чтобы выбор даты был аккуратным и чистым.

код я использую для достижения этой цели:

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

как Диди вы сделали, чем можно разделить некоторые примеры кода здесь плзли –

+0

@KAREEMMAHAMMED Смотрите мой выбор. – satheeshwaran

+0

Я думаю, что это невозможно с iOS 6, UIDatePicker не является подклассом UIPickerView. –

ответ

1

В основном то, что вы хотите сделать, это удалить градиент сверху и снизу, справа?

Это будет работать, по крайней мере, для прошивки 5 и 6.

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

Спасибо, проверит, работает ли это, но все изменится, так как сборщик даты обновлен для iOS7. – satheeshwaran