Я создал экран, на котором у меня полноэкранный режим UITableView
, я установил для него UIEdgeInsets
, который я настроил следующим образом:
categoriesTableView.contentInset = UIEdgeInsets.init(top: HEADER_VIEW_HEIGHT, left: 0, bottom: 0, right: 0)
, где HEADER_VIEW_HEIGHT
- это CGFloat = 160
.
Это позволило мне добавить «представление заголовка» к UITableView
, которое покрывается, когда я начинаю прокручивать UITableView
(... и не застреваю над UITableView, какреальное представление заголовка будет).
Проблема: Проблема в том, что мне нужно иметь 3 интерактивных представления в представлении заголовка, поэтому я спроектировал 3 представления в раскадровке и настроил Tap Gesture Recognizers
на них.Но когда я пытаюсь использовать их, жесты касания не пропускаются, выведите UITableView
, даже если я вижу эти виды на экране (в результате конфигурации contentInset).Единственный способ сделать их доступными для нажатия / кликания - это установить для UITableView
значение User Interaction Enabled
в false (что я не могу сделать, потому что мне нужно, чтобы UITableView
также можно было перетаскивать и нажимать).
Вопрос: Как бы я передавал события касания нижним кликабельным частям «вида заголовка», если он не покрыт UITableView
в результате настройки contentInset?
Вот изображение пользовательского интерфейса, в нем вы можете видеть, что есть полноэкранный UITableView
, за ним вид с 3 подпредставлениями, который содержит 3 избранных элемента, которые я могу представить пользователю для более удобного доступа.когда экран запускается, для UITableView
устанавливается contentInset, поэтому пользователь может видеть эти опции легкого доступа и нажимать их (что он не может сделать прямо сейчас).Когда пользователь начинает прокрутку, UITableView
идет поверх макета с 3 видами, и пользователь может прокручивать список в полноэкранном режиме.вроде как эффект параллакса.
![enter image description here](https://i.stack.imgur.com/ONwYu.png)