答案 0 :(得分:8)
您可以在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];
完全按照添加 DatePicker 的方式。
答案 1 :(得分:3)
没有解决方法。从未支持将子视图添加到UIAlertView,在iOS 7中,这会导致子视图无法显示。 Apple开发者论坛上发布了一些解决方法,但在将来的版本中可能很容易破解。
我建议提交错误报告。许多其他人(包括我自己)已经做到了这一点,苹果公司获得的请求越多,其优先级就越高。
编辑:我编写了一个允许添加子视图的UIAlertView
克隆:SDCAlertView
。
答案 2 :(得分:3)
在iOS7上,您应该使用UIModalPresentationCustom
和transitioningDelegate
在UIKit中使用新的自定义模态转换支持。
使用这些视图,您可以创建类似于警报视图的视图,但可以自定义,您可以在其中添加日期选择器。
答案 3 :(得分:3)
答案 4 :(得分:1)
它不受支持,我不相信他们“解决了这个问题”..滚动您自己的警报视图或使用开源替代方案。另见UIAlertView addSubview in iOS7