UIAlertView自定义中的iOS 7 UIDatePicker
伙计们,我正在像这样将UIDatePicker添加到UIAlertView
iOS 6以及iOS 7以下的版本都是如此
任何想法为什么发生这种情况 有没有更好的方法做这个?任何帮助表示赞赏。
这是我的组件来支持AlertView中的addSubview。
CXAlertView – 自定义警报视图,允许您将视图添加为主要内容。
您可以在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 。
在iOS7上,您应该使用UIModalPresentationCustom
和transitioningDelegate
在UIKit中使用新的自定义模态转换支持。
使用这些,您可以创build一个类似于警报视图的视图,但是可以添加dateselect器的自定义视图。
更多信息在这里: https : //developer.apple.com/library/ios/documentation/uikit/reference/UIViewControllerTransitioningDelegate_protocol/Reference/Reference.html#//apple_ref/occ/intf/UIViewControllerTransitioningDelegate
没有解决这个问题。 从来没有支持将子视图添加到UIAlertView,在iOS 7中这导致子视图不显示。 苹果开发者论坛上已经发布了一些解决方法,但是在未来的发行版中可能会很容易被破解。
我build议提交一个错误报告。 其他许多人(包括我自己)也是这样做的,苹果公司获得的要求越多,优先级就越高。
编辑:我写了一个UIAlertView
克隆,允许添加子视图: SDCAlertView
。
这是不支持,我不相信他们'解决这个'..滚动自己的警报视图或使用开源替代品。 另请参阅iOS7中的UIAlertView addSubview