UIScrollView添加手勢顯示和隱藏鍵盤

nd4b 10年前發布 | 2K 次閱讀 Objective-C IOS

大概思路:本身textField點擊鍵盤彈出,點擊手勢后自身view結束編輯,手勢設為no,再點擊textField時鍵盤彈出,這時用通知通知手勢交互為yes即可

首先在.h文件中添加手勢協議<UIGestureRecognizerDelegate>

在.m文件中聲明一個手勢指針

UITapGestureRecognizer * _gesture;

 _gesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hidesKeyboard)];
    _gesture.enabled = NO;//最開始手勢設為no
    [self.view addGestureRecognizer:_gesture];

隱藏鍵盤的方法

- (void)hidesKeyboard{
    [self.view endEditing:YES];
    _gesture.enabled = NO;
}

鍵盤顯示我用了通知結合手勢來的

先注冊一個通知,

[[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(keyboardWillShow)
                                                 name:UIKeyboardWillShowNotification
                                               object:nil];

完成通知的方法就是把手勢設為yes即可

- (void)keyboardWillShow {
    _gesture.enabled = YES;
}

 本文由用戶 nd4b 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!