У меня есть uiscrollview как элемент uiscrollviewcontroller вместе с другими объектами вида. Изображение прокручивается и увеличивается, как и ожидалось, когда scrollView является верхним подпредставлением. Тем не менее, мне также нужно получить местоположение экрана касания, в частности, когда нет действия прокрутки. (Я понимаю, что местоположение может измениться во время прокрутки, но это не важно.) Я не нашел способа сделать это. В реализации scrollviewcontroller я настроил все стандартные методы, которые должны это делать: "touchesShouldBegin ...", "touchesBegan: ...", "touchesEnded: ..." и так далее. Насколько я могу судить, ни один из них не вызывается во время сенсорного события, когда scrollView является верхним подпредставлением. Я попытался установить для свойства delayContentTouches значения YES и NO, но это, похоже, не имеет значения.
В качестве альтернативы я попытался поместить UIView в качестве верхнего подпредставления, а затем попытался передать прикосновения к лежащему в основе scrollView. В этой конфигурации вызываются стандартные методы, и я могу получить местоположение касания, но я не нашел механизма передачи касаний в scrollView, чтобы происходила прокрутка. Делать что-то вроде отправки сенсорных сообщений в конкретный scrollView, или в «super», или просто отправлять их в nextResponder - не получается. Кажется, я могу заставить работать прокрутку или найти местоположение касания, но не оба, в зависимости от того, что является "верхним" подпредставлением.
Я подозреваю, что это тривиально, но после двух недель борьбы, пришло время съесть мое смущение из-за неспособности сделать это, казалось бы, самые простые вещи. Я прочитал все связанные вопросы здесь на stackoverflow, попробовал большинство, если не все предложения, и до сих пор ничего не помогло. Я просмотрел различные ссылки и ссылки, предложенные в ответах, включая документацию Apple, но ни одна из них не указала на пробел в моем понимании. Любые идеи будут оценены.