iOS 7 UIAlertView定制中的UIDatePicker

iOS 7 UIAlertView定制中的UIDatePicker,ios,uialertview,uidatepicker,ios7,Ios,Uialertview,Uidatepicker,Ios7,伙计们,我把UIDatePicker添加到UIAlertView中 iOS 6和iOS 7都不错,现在是这样 你知道为什么会这样吗?有更好的方法吗?非常感谢您的帮助。没有解决方法。从不支持向UIAlertView添加子视图,在iOS 7中,这会导致子视图不显示。一些变通方法已经发布在苹果开发者论坛上,但在未来的版本中很容易被打破 我建议提交一份bug报告。很多其他人(包括我自己)都这样做了,苹果收到的请求越多,它的优先级就越高 编辑:我已经编写了一个允许添加子视图的UIAlertView克隆

伙计们,我把UIDatePicker添加到UIAlertView中

iOS 6和iOS 7都不错,现在是这样


你知道为什么会这样吗?有更好的方法吗?非常感谢您的帮助。

没有解决方法。从不支持向UIAlertView添加子视图,在iOS 7中,这会导致子视图不显示。一些变通方法已经发布在苹果开发者论坛上,但在未来的版本中很容易被打破

我建议提交一份bug报告。很多其他人(包括我自己)都这样做了,苹果收到的请求越多,它的优先级就越高


编辑:我已经编写了一个允许添加子视图的
UIAlertView
克隆:。

它不受支持,我不相信他们会“修复此问题”。。滚动您自己的警报视图或使用开源替代方案。另请参见iOS7上的

,您应该使用UIKit中的新自定义模式转换支持,使用
UIModalPresentationCustom
transitioningDelegate

使用这些工具,您可以创建一个类似于警报视图的视图,但可以自定义,在其中添加一个日期选择器

更多信息请点击此处:

这是我在AlertView中支持addSubview的组件

-自定义警报视图,允许您将视图添加为主要内容

您可以在iOS7的标准警报视图中将accessoryView更改为任何自己的customContentView

[alertView setValue:customContentView forKey:@"accessoryView"];
请注意,您必须在[alertView show]之前调用此选项

最简单的示例:

UIAlertView *av = [[UIAlertView alloc] initWithTitle:@"TEST" message:@"subview" delegate:nil cancelButtonTitle:@"NO" otherButtonTitles:@"YES", nil];
UIView *v = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 50)];
v.backgroundColor = [UIColor yellowColor];
[av setValue:v forKey:@"accessoryView"];
[av show];


与添加日期选择器的方式完全相同。

谢谢,我正在考虑使用UIView而不是UIAlertView或某些开源组件。谢谢,我知道这不是最好的方式,但我的应用程序需要它。是的,很多人都需要它。这就是为什么归档一个bug如此重要。我肯定会归档一个bug。谢谢!这正是我要找的!