【发布时间】:2015-09-05 09:32:22
【问题描述】:
我正在处理 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 以外任何地方的触摸值
【问题讨论】:
-
确保设置 UIImageview 的 userInteractionEnabled = true
-
你应该使用手势。向 UIImageView 添加手势
标签: ios swift uiscrollview coordinates pinchzoom