iOS 7 UIDatePicker in UIAlertView customisation

筅森魡賤 提交于 2019-11-28 14:09:08

This is my component to support addSubview in AlertView.

CXAlertView - Custom alert-view which allow you to add view as main content.

You can change accessoryView to any own customContentView in a standard alert view in iOS7

[alertView setValue:customContentView forKey:@"accessoryView"];

Note that you must call this before [alertView show].

Simplest illustrating example:

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

Exactly in the same way you can add your DatePicker.

On iOS7, you should use the new custom modal transition support in UIKit using UIModalPresentationCustom and transitioningDelegate.

Using these, you can create a view similar to that of an alert view, but custom, where you could add a date picker.

More information here: https://developer.apple.com/library/ios/documentation/uikit/reference/UIViewControllerTransitioningDelegate_protocol/Reference/Reference.html#//apple_ref/occ/intf/UIViewControllerTransitioningDelegate

There is no fix for this. Adding subviews to a UIAlertView was never supported and in iOS 7 this lead to subviews not showing. Some workarounds have been posted on the Apple Developer Forums, but they could easily break in a future release.

I suggest file a bug report. Many others (including myself) have done this, and the more requests Apple gets for it, the higher its priority becomes.

EDIT: I have written a UIAlertView clone that does allow for adding subviews: SDCAlertView.

Daij-Djan

It is not supported and I dont belive they 'fix this' .. roll your own alert view or use a open source alternative. see also UIAlertView addSubview in iOS7

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!