如果要弹出操作表,请隐藏键盘

时间:2011-09-11 15:20:04

标签: ios xcode4 ios4

我有一个应用程序,其中我有2个文本字段。现在我的问题是,让我们说第一个用户点击普通文本字段。哪个会弹出键盘。然后,如果没有选择完成按钮,他会点击日期字段。哪个会弹出操作表(不解除键盘)。隐藏动作表后,用户必须点击其他文本字段并单击键盘的返回键。

如果要弹出操作表,我想隐藏键盘吗?

我的代码在

之下
- (void)textFieldDidBeginEditing:(UITextField *)textField
{


    if([textField isEqual:txtdob])
    {

        [textField resignFirstResponder];


        actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:nil cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:nil];
        [actionSheet setActionSheetStyle:UIActionSheetStyleBlackTranslucent];
       // txtdob.inputView=actionSheet;
        CGRect pickerFrame = CGRectMake(0, 40, 0, 0);

        datepicker=[[UIDatePicker alloc] initWithFrame:pickerFrame];
        datepicker.datePickerMode = UIDatePickerModeDate;
        //[datepicker setMinimumDate:minDate];
        [datepicker addTarget:self action:@selector(changeDateInLabel:) forControlEvents:UIControlEventValueChanged];

        [actionSheet addSubview:datepicker];
        [datepicker release];

        UISegmentedControl *closeButton = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObject:@"Done"]];
        closeButton.momentary = YES; 
        closeButton.frame = CGRectMake(260, 7.0f, 50.0f, 30.0f);
        closeButton.segmentedControlStyle = UISegmentedControlStyleBar;
        closeButton.tintColor = [UIColor blueColor];
        [closeButton addTarget:self action:@selector(dismissActionSheet) forControlEvents:UIControlEventValueChanged];
        [actionSheet addSubview:closeButton];
        [closeButton release];

        [actionSheet showInView:self.view];

        [actionSheet setBounds:CGRectMake(0, 0, 320, 485)];

    }
}

2 个答案:

答案 0 :(得分:1)

在ViewController中调用它

[self.view endEditing:NO];

答案 1 :(得分:0)

您是否尝试过实施UITextFieldDelegate协议方法- (void)textFieldDidEndEditing:(UITextField *)textField?只要UITextField失去焦点,就会调用该方法,例如,当用户点击视图中的另一个元素时。

尝试将它放在您的委托类中:

- (void)textFieldDidEndEditing:(UITextField *)textField {
    [textField resignFirstResponder];
}

另外,请确保将textfields的委托设置为实现上述方法的类。希望这有帮助!