私はUIScrollView
のサイズが大きいUIImageView
を非常に高い解像度(約10,000 x 10,000)で表示しています。このUIImageView
では、ズームとスクロールの両方が有効になっています。私はまた、より小さな解像度(約100×100)で同じ画像を持つ小さいUIImageView
を持っています。私はより大きなUIImageView
の目に見える部分を小さい方のUIImageView
に示しています。ユーザーは、小さい方のパンでUIImageView
の大きい場所の他の場所に移動できます。UIImageView
次の画像は、私が説明しようとしていることを示しています。私の問題は、より小さなUIImageViewでパンニングしながら、大きなUIScrollViewでのスクロールは本当に遅いです。それは簡単なフィードバックを遅くすることができますので、 別のビューでスクロールすると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)
}
}
これを試しましたが、これは望ましい結果をもたらしません。問題は、パンのジェスチャーを入力している間は、大きな視野では視認可能な領域が所望の領域に変わらないということです。 –