0

我有一个包含不同文本字段的视图。

单击每个taxtfield 会弹出一个键盘,如果我在textField 之外单击,键盘会消失,但视图也会消失!如何更改代码,以便我只能使用取消按钮退出视图并点击视图而不是单击 texfield 外部或单击背景。

        - (void)viewDidLoad
    {

    [super viewDidLoad];
         [self.navigationController setNavigationBarHidden:YES];
          self.view.backgroundColor = [self.appDel.styleManager appBackgroundGradientWithFrame:self.view.bounds];
         self.tapView.backgroundColor = [UIColor clearColor];


         UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self
                                                                              action:@selector(endPageEdit:)];
tap.delegate = self;
        [self.view addGestureRecognizer:tap];


        }



- (void)endPageEdit:(UIGestureRecognizer *)sender
{
        if (sender.view == self.view) {
        [self.view endEditing:YES];
        if ([self isFormVisible]) {
           [self handleTap:sender];
        }
    }

}
4

1 回答 1

0

在您的endPageEdit: 方法中,告诉 textFields 为resignFirstResponder.

- (void)endPageEdit:(UIGestureRecognizer *)sender {

    // assumes you have an outlet set up for each of the textFields
    [self.textFieldA resignFirstResponder];
    [self.textFieldB resignFirstResponder];

    if (sender.view == self.view) {
        [self.view endEditing:YES];
        if ([self isFormVisible]) {
           [self handleTap:sender];
        }
    }
}

只有零个或其中一个将成为第一响应者,但当控件不是第一响应者时,辞职第一响应者没有不利之处。视图消失的原因必须与endEditing: 方法或handleTap您未发布的方法有关。

于 2013-02-22T19:24:51.237 回答