私はUIScrollviewを使用して画像のズーム機能を実装しようとしています。ここで私はイメージを縦横比に保った。 イメージはUIScrollViewの内部にあり、イメージフレームはUIScrollViewと同様に指定されています。 ここに私のコードです。画像が拡大された後、UIScrollViewが画像をスクロールしますか?
override func viewDidLoad()
{
super.viewDidLoad()
// Do any additional setup after loading the view.
scroller.minimumZoomScale = 1.0
scroller.maximumZoomScale = 7.0
}
// MARK: - User Defined Methods
@IBAction func doubleTapGestureAction(_ sender: UITapGestureRecognizer)
{
if scroller.zoomScale == 1
{
scroller.zoom(to: zoomForScale(scale: scroller.maximumZoomScale, center: sender.location(in: sender.view)), animated: true)
}
else
{
scroller.setZoomScale(1, animated: true)
}
print(isZoomedIn)
}
func zoomForScale(scale: CGFloat, center: CGPoint) -> CGRect
{
var zoomRect = CGRect.zero
zoomRect.size.height = image.frame.size.height/scale
zoomRect.size.width = image.frame.size.width/scale
let newCenter = image.convert(center, from: scroller)
zoomRect.origin.x = newCenter.x - (zoomRect.size.width/2.0)
zoomRect.origin.y = newCenter.y - (zoomRect.size.height/2.0)
return zoomRect
}
func viewForZooming(in scrollView: UIScrollView) -> UIView?
{
return image
}
があなたの画像スケール –