Вы можете использовать следующий метод UIScrollView, чтобы прокрутить его из кода столько, сколько вы хотите.
- (void)scrollRectToVisible:(CGRect)rect animated:(BOOL)animated
Вы можете вызвать это из следующего метода UIScrowViewDelegate.
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
Таким образом, вы можете управлять тем, сколько будет вызывать прокрутка.
А для получения прикосновений реализуйте отдельный класс, который отображает изображения (наследует его от UIImageView или UIView) и реализует в этом функции touchesBegin или touchesEnded. Здесь, когда вы получаете прикосновение в своем пользовательском представлении, вызываете какой-либо метод родительского представления и уведомляете его соответствующими аргументами (вы можете назначить свойство тега и передать его представлению с прокруткой, чтобы точно определить, какое изображение было нажато).
..... Я не уверен, погоду я решу вашу проблему или нет ..... так что пишите здесь, если вам нужна дополнительная помощь.