2013-04-29 49 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

如何迪迪,你做的比可以在这里分享一些示例代码PLZ – 2013-05-14 07:25:11

+0

@KAREEMMAHAMMED见我的编辑。 – satheeshwaran 2013-08-07 05:04:51

+0

我认为这对于iOS 6来说是不可能的,UIDatePicker不是UIPickerView的子类。 – 2013-09-03 17:23:40

回答

1

基本上你想要做的,是除去顶部和底部的坡度,对不对?

这是去工作,至少为iOS 5和6

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

谢谢,将检查这是否有效,但随着日期选择器针对iOS7进行了更新,一切都将发生变化。 – satheeshwaran 2013-09-13 15:36:27

相关问题