Я использую UIPinchGestureRecognizer
для настройки ширины (а не высоты) представления в UIScrollView
. Он работает со свойством scale
жеста сжатия, но contentOffset
прокрутки не меняется, поэтому вид всегда увеличивается справа. Это выглядит немного лучше, если я масштабирую contentOffset
вместе с шириной, так как тогда вид увеличивается с самой левой стороны экрана.
Проблема в том, что местоположение щипка игнорируется - поэтому всегда кажется, что щипок находится в левой части экрана.
Мне нужно каким-то образом учесть расположение зажима для регулировки contentOffset
, чтобы можно было отрегулировать смещение, чтобы содержимое в точке зажима оставалось в одном и том же месте.
Примечание. Я не могу использовать встроенный UIScrollView
жест масштабирования, поскольку я хочу, чтобы масштабирование было только в одном измерении, по горизонтали. Кроме того, я не могу использовать преобразования в UIView
, так как мне нужно использовать UIScrollView
.
UIPinchGestureRecognizer
есть несколько методов, которые могут помочь, например-locationInView:
. (Вы спрашиваете, как найти щепотку? Это не совсем ясно) - person Justin Johns   schedule 02.07.2014locationInView:
для определения точки защемления, нормализовал ее (0..1), изменил размер вида, вычислил новую точку защемления, а затем установил смещение так, чтобы точка защемления находилась под точкой касания. - person Jason Moore   schedule 02.07.2014