2016-01-26 3 views
3

У меня есть UITableView и большой «кнопочный» вид перед ним. Вид «кнопки», который имеет прозрачные области, должен иметь возможность реагировать на нажатие. Но включение пользовательского взаимодействия для этого вида блокирует любые прокручивающие штрихи от доступа к представлению таблицы, расположенному под «кнопкой».Сделать приемники UIView, но пропустить swipes к основному виду

Верхний вид UIView (не UIButton). Учитывая, как оба представления работают вместе, верхний вид по существу является частью того, что происходит с табличным представлением, и реагирует на прокрутку вида таблицы. Но прокрутка - это главное, и я бы хотел, чтобы у пользователя была самая большая область прокрутки.

Как наилучшим образом разрешить этот конфликт, чтобы просмотр таблицы прокручивался, как обычно?

+0

Почему вы хотите прокручивать «TableView», когда что-то частично покрывает anyways? Это кажется плохим дизайном интерфейса, если вы спросите меня. Причина в том, что Apple сделала это поведение по умолчанию для подобных ситуаций. – pbush25

+0

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

+0

Но я хочу сказать, что если у вас большая («довольно большая ... недостаточно маленькая область прокрутки»), которая блокирует просмотр таблицы, то зачем пользователю нужно прокручивать табличное представление для начала? – pbush25

ответ

0

Я думаю, вы могли бы подклассифицировать свой общий вид UIButton и UITableView и переопределить его hitTest:withEvent:, чтобы проверить, какой вид был поражен, что-то вроде, если вы находитесь в прозрачной или непрозрачной части кнопки?

Как упоминается в pbush25, он более или менее относится к рекомендации Apple.

+0

Верхний вид UIView, а не UIButton. Учитывая, как оба представления работают вместе, верхний вид по существу является частью того, что происходит с табличным представлением, и реагирует на прокручиваемое представление таблицы. Но прокрутка - это главное, и я бы хотел, чтобы у пользователя была самая большая область прокрутки. –

+0

Что я получу из вашего вопроса, так это то, что есть UIView A, с UITableView B и UIButton C в качестве подзонов. Я говорил о подклассе, что надзор, чтобы выбрать между subviews в hitTest. – CharlesThierry

+0

Нет UIButton's, всего два UIView. Однако верхний вид работает аналогично кнопке. –

Смежные вопросы