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