Я пишу замену UISwitch (с настраиваемой графикой). Я переопределил touchMoved и друзья, так что вы можете перетаскивать виджет между Yes и No, так же, как с UISwitch.
Если вы поместите его в режим прокрутки, прикосновения будут отменены, если пользователь сдвинет палец на мельчайший кусочек по диагонали, а не по горизонтали, и вместо этого начинается прокрутка. Я заметил, что UISwitch и UIButton не демонстрируют этого поведения, и прокрутка никогда не срабатывает при манипулировании этими элементами управления.
Как я могу сказать UIKit, что мне нужен эксклюзивный контроль над этими касаниями, в действительности отключение прокрутки в touchBegan и включение прокрутки в завершенном / отмененном? Я уверен, что есть что-то очевидное, но я просмотрел заголовки и документацию для UIControl, UIResponder, UIView и UIScrollView и ничего не нашел.
Примечание: я не хочу создавать подкласс UIScrollView; Я не могу себе представить, что этот элемент управления должен быть полностью автономным в качестве правильного решения.