当我点击文本字段时,UIAlertview没有添加UIDatePicker?
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Preferences"
message:@"\n\n\n\n\n\n\n"
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"OK", nil];
pickerView=[[UIDatePicker alloc]initWithFrame:CGRectMake(0,40,246,150)];
pickerView.datePickerMode=UIDatePickerModeDate;
[alert addSubview:pickerView];
[alert show];
}
答案 0 :(得分:1)
iOS 7不再支持将子视图添加到其层次结构中。这就是我写SDCAlertView的原因。它添加了一个contentView属性,您可以使用该属性向警报添加任何其他视图。
答案 1 :(得分:0)
在iOS7 UIAlertView's
视图层次结构已更改,因此现在您无法将任何视图添加到UIAleartView
答案 2 :(得分:0)
从iOS7开始,不再支持向UIAlertView添加子视图。您可以使用第三方视图,例如:https://github.com/wimagguc/ios-custom-alertview
答案 3 :(得分:0)
试用此代码
UIAlertView *myAlertView = [[UIAlertView alloc] initWithTitle:@"Hello"
message:@"message" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Stamp", nil];
UIDatePicker *pickerView=[[UIDatePicker alloc]initWithFrame:CGRectMake(0,40,246,150)];
pickerView.datePickerMode=UIDatePickerModeDate;
myAlertView.tag=101;
[myAlertView show];
UIDatePicker *picker = [[UIDatePicker alloc] initWithFrame:CGRectMake(10, myAlertView.bounds.size.height, 320, 216)];
// Add picker to alert
[myAlertView addSubview:picker];
// Adjust the alerts bounds
myAlertView.bounds = CGRectMake(0, 0, 320 + 20, myAlertView.bounds.size.height + 216 + 20);
[myAlertView release];
答案 4 :(得分:0)
不幸的是,Apple不允许您添加子视图或修改视图层次结构。请参阅https://developer.apple.com/library/ios/documentation/uikit/reference/UIAlertView_Class/UIAlertView/UIAlertView.html:
UIAlertView类旨在按原样使用,不支持子类化。此类的视图层次结构是私有的,不得修改。
警示视图的外观
您无法自定义警报视图的外观。
违反这些规定会在Apple Review流程中拒绝您的应用 - 所以我会回过头来看看您的应用设计。