У меня есть UIScrollView
с большим UIImageView
с изображением очень высокого разрешения (около 10 000 x 10 000). В этом UIImageView
включено масштабирование и прокрутка. У меня также есть UIImageView
меньшего размера с тем же изображением с гораздо меньшим разрешением (около 100 x 100). Я показываю видимую часть большего UIImageView
на меньшем UIImageView
. И пользователь может перемещаться в другие места на большем UIImageView
, перемещаясь на меньшем UIImageView
. Следующие изображения показывают то, что я пытаюсь объяснить. Моя проблема заключается в том, что при панорамировании меньшего UIImageView прокрутка в большом UIScrollView очень медленная.
// function that handles the pan on green view
func handlePanNavigation(gestureRecognizer: UIPanGestureRecognizer) {
if gestureRecognizer.state == .began || gestureRecognizer.state == .changed {
let translation = gestureRecognizer.translation(in: navigationPanel)
guard let gv = gestureRecognizer.view else { return }
let point = CGPoint(x: gv.center.x + translation.x, y: gv.center.y + translation.y)
gestureRecognizer.view?.center = point
gestureRecognizer.setTranslation(.zero, in: navigationPanelView)
let transform = CGAffineTransform(scaleX: orgSize.width*tiledScrollView.zoomScale/navSize.width, y: orgSize.height*tiledScrollView.zoomScale/navSize.height)
let offset = navigationPanelView.frame.origin.applying(transform)
tiledScrollView.setContentOffset(offset, animated: true)
}
}