Guys I was adding UIDatePicker to UIAlertView like this
It was fine with iOS 6 and below now in iOS 7 it comes like this
Any ideas why this happens? Is there a better way of doing this?.Any help is appreciated.
Guys I was adding UIDatePicker to UIAlertView like this
It was fine with iOS 6 and below now in iOS 7 it comes like this
Any ideas why this happens? Is there a better way of doing this?.Any help is appreciated.
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.
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
.
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
This is my component to support addSubview in AlertView.
CXAlertView - Custom alert-view which allow you to add view as main content.
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