gpt4 book ai didi

ios - 快速缩放 View Controller

转载 作者:搜寻专家 更新时间:2023-11-01 05:52:19 24 4
gpt4 key购买 nike

我正在创建一个 iOS 应用程序 (swift),我在 View Controller 中有多个标签。我没有使用任何 ScrollView 。我需要在捏合手势上缩放 View Controller 。我知道我已经找到了 ScrollView 的解决方案,但我不想在我的 View Controller 中实现 scrollView。任何帮助,将不胜感激!谢谢。

更新:

我在 View Controller 中实现了一个 ScrollView 。我在 ScrollView 中添加了一个 View ,该 View 包含一些标签,但我现在面临的问题是:

  1. 缩放不会保持静止。也就是说,只要我松开手指, ScrollView 就会自动缩放到原来的样子。

  2. 当 View Controller 处于原始状态时,应用会崩溃。

这是我的代码:

@IBOutlet weak var scrollView: UIScrollView!

@IBOutlet var viewThis: UIView!

override func viewDidLoad() {

super.viewDidLoad()

scrollView.delegate = self

//let gesture = UIPinchGestureRecognizer(target: self, action: #selector(pinchAction(sender:)))
//self.view.addGestureRecognizer(gesture)

// Do any additional setup after loading the view.

let scrollViewFrame = scrollView.frame

let scaleWidth = scrollViewFrame.size.width / scrollView.contentSize.width

let scaleHeight = scrollViewFrame.size.height / scrollView.contentSize.height

let minScale = min(scaleWidth, scaleHeight);

scrollView.minimumZoomScale = minScale

scrollView.maximumZoomScale = 1.0

scrollView.zoomScale = minScale;
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}

func viewForZooming(in scrollView: UIScrollView) -> UIView? {

return viewThis
}

最佳答案

感谢@YunCHEN 帮我解决了这个问题。他让我知道代码中发生了什么。我遇到了一个问题,在缩小时,我的应用程序曾经崩溃,因为与 View 宽度和高度相比,它超出了限制。如果以后有人发现同样的问题,我会更新一个答案。

第 1 步:在 View Controller 中添加一个 scrollView。

第 2 步:在 scrollView 上添加 View 。

第 3 步:在此 View 上添加对象库中的所有项目/对象。

第 4 步:在代码中将 scrollView 和 View 绑定(bind)到 View Controller 。还要添加一个 UIScrollViewDelegate。

第 5 步:执行以下操作。

代码如下:

@IBOutlet weak var scrollView: UIScrollView!

@IBOutlet var viewThis: UIView!

override func viewDidLoad() {

super.viewDidLoad()

scrollView.delegate = self

scrollView.minimumZoomScale = 1.0;

scrollView.maximumZoomScale = 3.0

scrollView.zoomScale = 1.0
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}

func viewForZooming(in scrollView: UIScrollView) -> UIView? {

return viewThis
}

再次感谢@YunCHEN对我的帮助!

关于ios - 快速缩放 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46109069/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com