在我的代码中,缩放时移动非常不稳定。 (启用分页时)
可能是不合适的代码。
但是我不知道该如何改善。
请告诉我。
UIScrollView正在分页。
我想像iBooks一样进行缩放运动。
class TestView: UIView, UIScrollViewDelegate {
@IBOutlet weak var scrollView: UIScrollView!
var cell_Array:[String] = []
var objc_Array:[UIImageView] = []
/// instance of xib
class func instance() -> TestView {
return UINib(nibName: "TestView", bundle: nil).instantiate(withOwner: self, options: nil)[0] as! TestView
}
/// init value
func initV(){
self.scrollView.delegate = self
self.scrollView.minimumZoomScale = 1.0
self.scrollView.maximumZoomScale = 6.0
}
func setupViews(){
for (index,i) in self.cell_Array.enumerated(){
let img_View = UIImageView()
img_View.frame = self.frame
img_View.contentMode = .scaleAspectFit
img_View.frame.origin.x = self.frame.size.width * CGFloat(index)
img_View.image = UIImage(named: i)
self.scrollView.addSubview(img_View)
self.objc_Array.append(img_View)
}
self.scrollView.contentSize.width = CGFloat(self.cell_Array.count) * self.frame.size.width
}
func viewForZooming(in scrollView: UIScrollView) -> UIView? {
return self.objc_Array[self.now_Cell_Num]
}
func scrollViewDidZoom(_ scrollView: UIScrollView) {
scrollView.contentInset = UIEdgeInsets(
top: max((self.scrollView.frame.height - self.objc_Array[self.now_Cell_Num].frame.height) / 2.0, 0.0),
left: max((self.scrollView.frame.width - self.objc_Array[self.now_Cell_Num].frame.width) / 2.0, 0.0),
bottom: 0,
right: 0
);
}
}