gpt4 book ai didi

ios - 在 UIScrollView 的 subview 上使用手势识别器 - Swift

转载 作者:行者123 更新时间:2023-11-29 11:51:21 29 4
gpt4 key购买 nike

I have attached an image here我是 iOS 开发的新手。我的问题如下:

我想使用手势控制将我的 scrollView 滑出其宽度。准确地说,我希望我的 UIScrollViewsubview 中执行滑动时滚动(只有一个 subview)。

我已经回答了几个 StackOverflow 问题,但我无法完全得到正确答案。

非常感谢您的帮助!

class ViewController: UIViewController, UIGestureRecognizerDelegate {

@IBOutlet weak var scrollView: UIScrollView!

var images = [UIImageView]()
override func viewDidLoad() {
super.viewDidLoad()
}

override func viewDidAppear(_ animated: Bool) {
var contentWidth: CGFloat = 0.0
for x in 0...2 {
let image = UIImage(named: "icon\(x).png")
let imageView = UIImageView(image:image)
images.append(imageView)

var newX: CGFloat = 0.0

newX = scrollView.frame.size.width/2 + scrollView.frame.size.width * CGFloat(x)
contentWidth += newX

scrollView.addSubview(imageView)
imageView.frame = CGRect(x: newX - 75, y: (scrollView.frame.size.height/2) - 75, width: 150, height: 150)

}
scrollView.clipsToBounds = false
scrollView.contentSize = CGSize(width: contentWidth, height: view.frame.size.height)
}

正如您在图像中看到的,我的 UIScrollView 的宽度具有灰色背景颜色(我这样做是为了说明我的观点)。现在,当用户在 subview (非灰色)UIImageView 中滑动时,我还想滚动 ScrollView 。

我添加了以下函数并返回 yes 以使两个 View 能够同时识别手势。但是,我没有得到想要的结果。谁能看一下?

func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return true
}

最佳答案

view.addGestureRecognizer(scrollView.panGestureRecognizer) 放在 viewDidLoad 函数中。

它最终做的是分配 scrollview 的手势识别器在主视图中查找手势。因此,即使手势在 ScrollView 矩形之外,它也会自动移动 ScrollView 的内容。

关于ios - 在 UIScrollView 的 subview 上使用手势识别器 - Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41009799/

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