2016-06-04 4 views
-1

Я использую этот метод, но клавиатура не скрывается.Dismiss Keyboard, когда пользователь касается снаружи TextView

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ 
    [_myTextView resignFirstResponder]; 
} 

Как отменить клавиатуру, просто касаясь снаружи клавиатуры. Было бы здорово, если бы решение было как для объективного, так и для быстрого. Спасибо

У меня есть запрос в объективе C для textView внутри scrollView. Пожалуйста, разрешите. Я искал, но не нашел дискретного решения.

ответ

0

попробовать это

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 
    [self.view endEditing:YES]; 
    [self.yourScrollviewName endEditing:YES]; 
} 

или использовать как

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 

    UITouch *touch = [[event allTouches] anyObject]; 

    if (![[touch view] isKindOfClass:[UITextView class]]) { 
     [self.view endEditing:YES]; 
     [self.yourScrollviewName endEditing:YES]; 
    } 
    [super touchesBegan:touches withEvent:event]; 
} 

приведенный выше код не работает, попробуйте это

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    UITapGestureRecognizer *resignView = [[UITapGestureRecognizer alloc] 
       initWithTarget:self action:@selector(handleSingleTapforResign:)]; 
    resignView.cancelsTouchesInView = NO; 
    [self.view addGestureRecognizer: resignView]; 
} 

Уволить, что когда-либо в настоящее время редактирования:

- (void) handleSingleTapforResign:(UITapGestureRecognizer *) sender 
{ 
    [self.view endEditing:YES]; 
    [self.yourScrollviewName endEditing:YES]; 
} 
+0

Я заменил self.view на self.myTextView (textView outlet). Пробовал. Ничего не произошло. Клавиатура остается такой, какая была. – Sam

+0

в вашем представлении добавил в scrollview или нормальный вид –

+0

Внутри прокрутки вид – Sam

Смежные вопросы