我正在从 Apple 的“App Development in Swift”学习 Swift。
我遇到了约束问题,特别是在第 593 页的“我间谍”实验室中。它基本上希望您创建一个滚动视图,其中包含一个图像视图并制作它以便您可以放大图像并滚动它,例如在打开照片时的照片应用程序中。
这本书说要使滚动视图和图像视图与带有约束的屏幕一样大,所以我将顶部、底部、前导和尾随约束添加为 0,并且它工作正常。
当我添加图像视图时,我开始遇到问题。如果我设置与滚动视图相同的约束,它会说它缺少 X 和 Y 位置的约束,并且它不起作用。如果我确实添加了这些约束,因此我将其水平和垂直对齐,图像只会拉伸到屏幕,但我仍然无法缩放或滚动。
视图控制器的代码是:
class ViewController: UIViewController, UIScrollViewDelegate {
@IBOutlet weak var scrollView: UIScrollView!
@IBOutlet weak var imageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
scrollView.delegate = ViewController()
updateZoomFor(size: view.bounds.size)
}
func viewForZooming(in scrollView: UIScrollView) -> UIView? {
return imageView
}
func updateZoomFor(size: CGSize){
let widthScale = size.width / imageView.bounds.width
let heightScale = size.height / imageView.bounds.height
let scale = min(widthScale,heightScale)
scrollView.minimumZoomScale = scale
}
override func didReceiveMemoryWarning() …Run Code Online (Sandbox Code Playgroud)