【问题标题】:UIDatePicker customizationUIDatePicker 自定义
【发布时间】:2013-04-29 07:44:41
【问题描述】:

我已将 UIDatePicker 自定义到一个级别,并将其添加到 UIAlertView。

但是我在日期选择器的底部和顶部得到黑色,如何删除它。我希望日期选择器整洁干净。

我用来实现此目的的代码:

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];

【问题讨论】:

  • 你做得怎么样,可以在这里分享一些示例代码
  • @KAREEMMAHAMMED 查看我的编辑。
  • 我认为这在 iOS 6 中是不可能的,UIDatePicker 不是 UIPickerView 的子类。
  • @diogot 这适用于 iOS 6,可能是 iOS 7 我会遇到问题。

标签: ios uialertview uidatepicker uidatepickermodetime


【解决方案1】:

基本上你想做的就是去掉顶部和底部的渐变,对吧?

这将起作用,至少对于 iOS 5 和 6。

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

【讨论】:

  • 谢谢,会检查这是否可行,但随着日期选择器针对 iOS7 进行了改进,一切都会改变。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-06
  • 2013-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多