Reputation: 821
I'm trying to let users zoom my image in a structure like;
ViewController -->Scroll View ----->UIImage
i can scroll my page but can't zoom in or out. I think i'm missing something here. Thank you....
and here is my code:
import UIKit
import Parse
import ParseUI
class ViewController: UIViewController, UIScrollViewDelegate {
@IBOutlet weak var image: UIImageView!
@IBOutlet weak var label: UILabel!
@IBOutlet weak var scrollView: UIScrollView!
var currentObject : PFObject?
override func viewDidLoad() {
super.viewDidLoad()
self.scrollView.maximumZoomScale = 5.0
self.scrollView.minimumZoomScale = 0.5
self.scrollView.delegate = self
self.scrollView.addSubview(image)
func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? {
return image
}
if let object = currentObject {
if let imageName = object["file"] as? PFFile {
imageName.getDataInBackgroundWithBlock({
(result, error) in
self.image.image = UIImage(data: result!)
})
}
label.text = object["fileName"] as? String
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
Upvotes: 1
Views: 428
Reputation: 71854
Just move your viewForZoomingInScrollView
method outside from viewDidLoad
.
And your code will be:
import UIKit
import Parse
import ParseUI
class ViewController: UIViewController, UIScrollViewDelegate {
@IBOutlet weak var image: UIImageView!
@IBOutlet weak var label: UILabel!
@IBOutlet weak var scrollView: UIScrollView!
var currentObject : PFObject?
override func viewDidLoad() {
super.viewDidLoad()
self.scrollView.maximumZoomScale = 5.0
self.scrollView.minimumZoomScale = 0.5
self.scrollView.delegate = self
self.scrollView.addSubview(image)
if let object = currentObject {
if let imageName = object["file"] as? PFFile {
imageName.getDataInBackgroundWithBlock({
(result, error) in
self.image.image = UIImage(data: result!)
})
}
label.text = object["fileName"] as? String
}
}
func viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? {
return image
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
Hope it helps.
Upvotes: 4