UISwitch в UIScrollview практически невозможно использовать - PullRequest
1 голос
/ 30 марта 2010

Я использую UISwitch-Component в нижней части представления, которое находится внутри UIScrollView. Теперь проблема, которая появилась, состоит в том, что переключение практически невозможно провести, поскольку UIScrollView, кажется, доминирует над входом пользователя.

Переключение работает очень хорошо, касаясь переключателя, но, с моей точки зрения, большинство пользователей «переключают» UISwitch вместо нажатия.

Кто-нибудь из вас сталкивался с такими же или схожими проблемами и сумел найти решение?

спасибо заранее

сэм

1 Ответ

3 голосов
/ 30 марта 2010

Вам нужно принять дизайнерское решение: если ваш контент предназначен для горизонтальной прокрутки, то пользователь проводит пальцем по переключателю неоднозначно - означает ли это, что он хочет прокрутить или переключить переключатель?

Самое простое решение - изменить ваш пользовательский интерфейс, чтобы устранить эту неоднозначность. Например, если contentSize прокрутки не шире границ вида прокрутки, то он не может прокручиваться по горизонтали, и горизонтальное перелистывание всегда активирует переключатель.

Если вы хотите разрешить горизонтальную прокрутку, то имеет смысл заменить UISwitch на UIButton, который переключается при касании, аналогично кнопке воспроизведения / паузы.

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

myScrollView.delaysContentTouches = NO;

Это заставит ваш переключатель немедленно «получить» прикосновения, вместо того, чтобы они сначала пошли на UIScrollView. Подробнее здесь . (Вы также можете установить это логическое значение в Интерфейсном Разработчике, как указано Squeegy.)

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