Отставка первого респондента на ScrollView Touch - PullRequest
6 голосов
/ 03 сентября 2010

Как скрыть клавиатуру в событии касания ScrollView ...

Сценарий такой ...

-> Вид -> ScrollView -> Текстовое поле

Я хочу скрыть клавиатуру при прикосновении к scrollView.Я пытался переопределить класс для прокрутки, но все равно не могу этого сделать.

Ответы [ 5 ]

8 голосов
/ 03 сентября 2010

Выполнение подобных действий поможет:

@interface MyClass <UIScrollViewDelegate> {
}

@implementation

- (void)viewDidLoad {
  yourScrollView.delegate = self;
}

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
  [myTextField resignFirstResponder];
}

Если вы действительно хотите обрабатывать событие касания, вам нужно создать подкласс UIScrollView и переопределить метод:

- (BOOL)touchesShouldBegin:(NSSet *)touches withEvent:(UIEvent *)event inContentView:(UIView *)view {

}

Подробнеео UIScrollView touch

6 голосов
/ 22 октября 2012

Это то, что мне помогло

в методе viewDidLoad вашего viewController

    UITapGestureRecognizer *tapScroll = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapped)];
    tapScroll.cancelsTouchesInView = NO;
    [viewScroller addGestureRecognizer:tapScroll];

, где viewScroller - ваш скроллер.В этом методе у нас есть

    - (void) tapped {
        [self.view endEditing:YES];
    }

Не знаю почему, но вышесказанное не сработало для меня ... хотя оно и должно

4 голосов
/ 20 октября 2011

Попробуйте это:

Добавить распознаватель жестов для просмотра прокрутки,

UITapGestureRecognizer *tapScroll = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapped)];
    tapScroll.cancelsTouchesInView = NO;
    [yourScrollview addGestureRecognizer:tapScroll];
    [tapScroll release];

Переустанавливать клавиатуру способом (постучал :).

0 голосов
/ 17 июня 2015
- (BOOL)touchesShouldBegin:(NSSet *)touches withEvent:(UIEvent *)event inContentView:(UIView *)view
{
    [self.view endEditing:YES];
     return YES;
 }
0 голосов
/ 12 апреля 2012

Пожалуйста, взгляните на этот ответ, это самый простой из найденных мной.

UitextField resignFirstResponder не работает в режиме прокрутки

...