我正在尝试使UIView可滚动和缩放,我将其嵌入滚动视图并设置其委托,但它不起作用。
我希望“ selectCountries” UIView可以像图像或类似图像一样进行滚动和放大和缩小。
如何获得此结果?
这是我到目前为止所做的:
class ViewController: UIViewController, UIScrollViewDelegate {
@IBOutlet var selectCountries: VTCSelectCountryView!
@IBOutlet var scrollView: UIScrollView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
scrollView.delegate = self
scrollView.backgroundColor = .clear
self.selectCountries?.selectedCountries = ["ITA","USA","GBR","FRA"]
}
override func viewWillLayoutSubviews(){
super.viewWillLayoutSubviews()
scrollView.isScrollEnabled = true
// scrollView.contentSize = CGSize(width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height+60)
}
func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? {
return self.selectCountries
}
}
编辑:我尝试通过添加以下注释中写入的值来尝试,但它仍然无法缩放和滚动视图。
class ViewController: UIViewController, UIScrollViewDelegate {
@IBOutlet var selectCountries: VTCSelectCountryView!
@IBOutlet var scrollView: UIScrollView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
scrollView.delegate = self
scrollView.backgroundColor = .clear
scrollView.minimumZoomScale = 1.0
scrollView.maximumZoomScale = 10.0
scrollView.bounces = true
scrollView.bouncesZoom = true
scrollView.contentSize = CGSize(width: selectCountries.frame.size.width, height: selectCountries.frame.size.height)
scrollView.showsVerticalScrollIndicator = true
scrollView.showsHorizontalScrollIndicator = true
self.selectCountries?.selectedCountries = ["ITA","USA","GBR","FRA"]
}
override func viewWillLayoutSubviews(){
super.viewWillLayoutSubviews()
scrollView.isScrollEnabled = true
// scrollView.contentSize = CGSize(width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height+60)
}
func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? {
return self.selectCountries
}
}
您还需要设置UIScrollView
的最小和最大缩放比例
用viewDidLoad()
方法设置缩放比例
scrollView.minimumZoomScale = 1.0
scrollView.maximumZoomScale = 10.0
设置ZoomScale并在viewDidLoad()
中添加子视图的contentsize
scrollview.maximumZoomScale = 4
scrollview.minimumZoomScale = 1.0
scrollview.bounces = true
scrollview.bouncesZoom = true
scrollview.contentSize = CGSize(width: imagerepoart.frame.size.width, height: imagerepoart.frame.size.height)
scrollview.showsVerticalScrollIndicator = true
scrollview.showsHorizontalScrollIndicator = true