Как я могу иметь вид кнопки и прокрутки в одном месте?

#swift

#swift

Вопрос:

Для создания контекста в моем приложении есть стопка карточек (похожих на Tinder), которые переворачиваются, и каждая может содержать много текста с одной стороны, для прокрутки которого требуется UITextView. По сути, это приложение для флэш-карт, поэтому, как только пользователь закончит просматривать карточку, он уберет ее, чтобы просмотреть следующую.

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

Есть ли способ как-то обойти это, чтобы обеспечить обе функции?

Комментарии:

1. Возможно, вы могли бы создать UITapGestureRecognizer .

Ответ №1:

Вы можете создать UITapGestureRecognizer , вот так:

 let gesture = UITapGestureRecognizer(target: self, action: #selector(tap(gesture:)))
addGestureRecognizer(gesture)
  

И функция для запуска:

 @objc func tap(gesture: UITapGestureRecognizer) {
    print("Tap!")
}
  

Комментарии:

1. @ericathanas Нет проблем! 😁

Ответ №2:

Может быть, вы можете добавить UITapGestureRecognizer к самому текстовому виду. Что-то вроде:

 let tapGesture = UITapGestureRecognizer(target: self, action: #selector(ViewController.didTap(_:)))
textView.addGestureRecognizer(tapGesture)

@objc func didTap(_ gesture: UITapGestureRecognizer) {
    // Handle the tap
}
  

Ответ №3:

вы пробовали TableView или CollectionView, вы можете настроить свою ячейку так, чтобы она выглядела как карточка, тогда, когда пользователь нажимает на ячейку, она переворачивается или представляет всплывающее окно, это проще.

Комментарии:

1. Я не уверен, что в этом случае будут использоваться TableView или CollectionView. Я обновил свое описание, надеюсь, оно станет более понятным, но дайте мне знать, если это все еще не так!