Обнаружение взаимодействия с пользователем без делегатов

0

Можно ли обнаружить взаимодействие с пользователем (например, прокручивание прокрутки или начать редактирование текстового поля) без использования делегатов или уведомлений? Просто используйте самые базовые сенсорные события.

Я пытаюсь использовать touchhesBegan и touchesEnded, но они не всегда называются.

Теги:
uitextfield
uiview
uiscrollview

2 ответа

0

Вы можете идентифицировать затронутый объект и выполнить необходимые действия.

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

    [super touchesBegan:touches withEvent:event];
    UITouch *touch = [touches anyObject];
    if ([touch.view isKindOfClass: UITextField.class])
    {
      if (![(UITextField *)touch.view isFirstResponder])
      {
        //start editing
        [(UITextField *)touch.view becomeFirstResponder];
      }
    }
    else
    {

    }
}
  • 0
    Аналогично в "touchesEnded" сделаем.
  • 0
    прикосновения начинается не всегда ...
Показать ещё 1 комментарий
0

Да, вы можете просто подключить IBAction к вашим UITextField Sent Events - Editing Changed, поэтому каждый раз, когда текстовое поле меняет ваш IBAction, вызывается. Вы можете сделать то же самое для Editing Did Begin и Editing Did End.

qaru.site/questions/9841672/...

  • 0
    Я хочу использовать оригинальные возможности UIView
  • 0
    Я понятия не имею, в чем ваша проблема и или чего вы пытаетесь достичь. Этот метод не требует делегатов и / или уведомления. Так почему же вам недостаточно делать то, что вы хотите? Что вы имеете в виду оригинальные возможности?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню