带时间选择器的iOS7和UIActionSheet

带时间选择器的iOS7和UIActionSheet,ios,ios7,uitextfield,uiactionsheet,Ios,Ios7,Uitextfield,Uiactionsheet,我有一个iOS6应用程序,它使用以下代码创建一个带有时间选择器的UIActionSheet: - (void)willPresentActionSheet:(UIActionSheet *)actionSheet { pickerView = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 40, 320, 216)]; //Configure picker... [pickerView setMinuteInterv

我有一个iOS6应用程序,它使用以下代码创建一个带有时间选择器的UIActionSheet:

- (void)willPresentActionSheet:(UIActionSheet *)actionSheet
{
    pickerView = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 40, 320, 216)];

    //Configure picker...
    [pickerView setMinuteInterval:5];
    [pickerView setTag: 4];
    [pickerView setDatePickerMode:UIDatePickerModeTime];

    //Add picker to action sheet
    [actionSheet addSubview:pickerView];

    //Gets an array of all of the subviews of our actionSheet
    NSArray *subviews = [actionSheet subviews];

    [[subviews objectAtIndex:1] setFrame:CGRectMake(20, 266, 280, 46)];
    [[subviews objectAtIndex:2] setFrame:CGRectMake(20, 317, 280, 46)];
}
在我在iOS7中尝试它之前,它就像一个符咒,当我单击弹出操作表的输入字段时,它总是崩溃。以下是输入字段后面的代码:

- (void)textFieldDidBeginEditing:(UITextField *)textField
{
    selectedTag = textField.tag;

    // the input field that needs to show the actionsheet has tag 1.
    if (selectedTag == 1) {
        UIActionSheet *asheet = [[UIActionSheet alloc] initWithTitle:@"Select a time:" 
        delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil 
        otherButtonTitles:@"Select", nil];

        [asheet showInView:[self.view superview]];
        [asheet setFrame:CGRectMake(0, 110, 320, 500)];

        textField.userInteractionEnabled = NO;
    }
    textField.userInteractionEnabled = YES;
}
当应用程序崩溃时,我收到以下消息:

试试这个

[asheet showInView:self.view];
试试这个

[asheet showInView:self.view];

如果希望在单击文本字段时显示日期选择器,可以直接显示日期选择器。将日期选择器设置为文本字段的inputview

    pickerView = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 40, 320, 216)];

    //Configure picker...
    [pickerView setMinuteInterval:5];
    [pickerView setDatePickerMode:UIDatePickerModeTime];
    [dateTextField setInputView:pickerView];

如果希望在单击文本字段时显示日期选择器,可以直接显示日期选择器。将日期选择器设置为文本字段的inputview

    pickerView = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 40, 320, 216)];

    //Configure picker...
    [pickerView setMinuteInterval:5];
    [pickerView setDatePickerMode:UIDatePickerModeTime];
    [dateTextField setInputView:pickerView];

谢谢,现在我可以在单击输入字段时看到选择器,但是如何选择时间?选择器上没有返回按钮或其他内容…UITextField还有另一个属性inputAccessoryView。谢谢,现在我可以在单击输入字段时看到选择器,但是如何选择时间?选择器上没有返回按钮或其他内容…UITextField还有另一个属性inputAccessoryView。我想知道当你调用
[self.view superview]
??…@DineshRaja:持有self.view的视图(有多个视图)时会返回什么,但这不是导致崩溃的原因…我想知道当你调用
[self.view superview]
??…@DineshRaja:持有self.view的视图时会返回什么(有多个视图)但这不是导致崩溃的原因。。。