gpt4 book ai didi

ios - 快速获取 ScrollView 内触摸的位置(坐标)

转载 作者:可可西里 更新时间:2023-11-01 00:23:40 24 4
gpt4 key购买 nike

我正在 UIScrollView 中的 UIImageView 上工作,UIImageView 可以通过 UIScrollView 缩放,但我的目标是获取点的坐标,这样每当用户在缩放时触摸 UIImageView 时,点“粘”到UIImageView,然后在取消缩放时(因此当缩放比例为 1.0 时),将保存坐标。

我能够获取图片,将其放入 ScrollView 的 ImageView 中,并使图片可缩放,但每当我触摸 scrollView 时,都不会显示任何坐标。

这是我的代码:

    override func viewDidLoad() {
super.viewDidLoad()

self.scrollview.minimumZoomScale = 0.5
self.scrollview.maximumZoomScale = 6.0
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}

@IBAction func ChooseExisting(sender: AnyObject) {

let picker = UIImagePickerController()

picker.delegate = self
picker.sourceType = .PhotoLibrary

presentViewController(picker, animated: true, completion: nil)


}

@IBAction func Camera(sender: AnyObject) {
let picker = UIImagePickerController()

picker.delegate = self
picker.sourceType = .Camera

presentViewController(picker, animated: true, completion: nil)



}
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {
ChosenImage.image = info[UIImagePickerControllerOriginalImage] as? UIImage
dismissViewControllerAnimated(true, completion: nil)
}
func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? {
return self.ChosenImage
}
override func touchesEnded(touches: Set<NSObject>, withEvent event: (UIEvent!)) {
if let touch = touches.first as? UITouch {
let location = touch.locationInView(self.ChosenImage)

println("\(location)")
}
}

println 只返回 ScrollView 以外任何地方的触摸值

最佳答案

UIGestureRecognizer 添加到您的 UIImageView 并将 userInteractionEnabled 设置为 true

let tapGestureRecognizer = UITapGestureRecognizer(target:self, action:Selector("imageTapped:"))
imgViewClickTest.addGestureRecognizer(tapGestureRecognizer)
imgViewClickTest.userInteractionEnabled = true

然后处理水龙头

func imageTapped(recognizer : UIGestureRecognizer) {
let tappedPoint: CGPoint = recognizer.locationInView(self.view!)
let x: CGFloat = tappedPoint.x
let y: CGFloat = tappedPoint.y

print(tappedPoint)
print(x)
print(y)
}

关于ios - 快速获取 ScrollView 内触摸的位置(坐标),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32411550/

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