当我点击文本字段时,UIAlertview没有添加UIDatePicker?

时间:2013-12-11 12:50:11

标签: iphone ios7 uialertview uidatepicker sdcalertview

当我点击文本字段时,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];
}

5 个答案:

答案 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类旨在按原样使用,不支持子类化。此类的视图层次结构是私有的,不得修改。

请参阅https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/UIKitUICatalog/UIAlertView.html#//apple_ref/doc/uid/TP40012857-UIAlertView

  

警示视图的外观

     

您无法自定义警报视图的外观。

违反这些规定会在Apple Review流程中拒绝您的应用 - 所以我会回过头来看看您的应用设计。