Заставить UIView подать в отставку первым респондентом при нажатии за пределами видимости - PullRequest
1 голос
/ 07 августа 2010

Есть ли способ заставить UIView отказаться от статуса первого респондента, когда пользователь нажимает за пределы вида?

Ответы [ 4 ]

2 голосов
/ 07 августа 2010

Захватите касание в другом представлении или представлениях. При обработке этого прикосновения вызовите селектор, у которого есть ваше представление, оставьте его статус респондента.

0 голосов
/ 20 мая 2016

Это довольно просто и должно быть покрыто в два этапа:

  1. Добавить распознаватель жестов, чтобы поймать касание вида
  2. В отставку первого респондента

Спасибо @Nathan Eror за первую часть . Мы можем добавить распознаватель жестов в метод viewDidLoad для регистрации, когда пользователь касается экрана:

UITapGestureRecognizer *singleFingerTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
[self.view addGestureRecognizer:singleFingerTap];

Далее мы добавим функцию для определения этого и код для удаления клавиатуры:

- (void)handleSingleTap:(UITapGestureRecognizer *)recognizer {
CGPoint location = [recognizer locationInView:[recognizer.view superview]];

    [textField resignFirstResponder];
}

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

0 голосов
/ 09 января 2015
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
    [yourtextfield resignFirstResponder];
    //You can have multiple textfields in here
}
0 голосов
/ 07 августа 2010

Нашли лучший ответ при проведении исследования ...

Получение текущего первого респондента без использования частного API

приведен пример кода для навигации по представлениям для поиска первого респондента, который можно использовать в качестве основы для вашего решения

Вы могли бы сначала разместить прозрачный вид, затем свой вид как вспомогательный вид. Тогда любые события касания в прозрачном представлении могут быть использованы для отставки первого респондента.

Это может быть подход, если существует несколько представлений вне границы основного представления, которым нужно управлять

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...