ios - UIDatePicker 自定义

标签 ios uialertview uidatepicker uidatepickermodetime

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

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

最佳答案

基本上您想要做的是移除顶部和底部的渐变,对吧?

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

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

关于ios - UIDatePicker 自定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16273572/

相关文章:

iphone - UIDatePicker:时间模式:初始化时间(一定要简单)

ios - 构建失败并显示 "Command PrecompileSwiftBridgingHeader failed with a nonzero exit code"

ios - 如何延迟提示位置服务权限

ios - 如何在 Swift 的 Alert 中为按钮添加 Action

iphone - 删除/隐藏 UIDatePicker 的最小/最大日期范围之外的行?

ios - iOS日期选择器显示月份号而不是名称

ios - 从 subview 编辑父 View Controller 的标题

objective-c - 检测设备上的 iTunes 播放列表文件夹

iphone - 我无法启用我的推送通知参数

ios7 - iOS 7 中显示 UIAlertView 时出现旋转问题