Насколько я знаю, UIScrollView не имеет ограничения по ширине с 3.0. Тем не менее, вы не можете использовать его для отображения большого объема данных, потому что для его отрисовки потребуется слишком много времени, и ваше приложение будет работать медленно.
Вместо этого вы можете использовать UIView ширины = 320,0 * 3. Ручка
- (void) touchesMoved: (NSSet*)_touches withEvent: (UIEvent*)_event
И применить
view.transform = CGAffineTransformMakeTranslation(-shift, 0.f);
Сдвиг здесь может быть рассчитан в зависимости от дельты X, найденной из набора касаний. Аффинный перевод позволяет имитировать плавное движение. Когда пользователь отпустит свой палец (touchesEnded), перерисуйте ваше представление (setNeedsDisplay) со смещенным контентом и верните его:
self.transform = CGAffineTransformIdentity;
Не выполняйте setNeedsDisplay во время прикосновения к движению, поскольку это может повлиять на производительность, если вы рисуете графики или что-то вычисляете.
Для 2D-карты вы должны подумать о X и Y и иметь представление 320 * 3 X 480 * 3:)
Это интересное задание. Наслаждайтесь.