2016-02-20 4 views
3

У меня возникли проблемы с увеличением моего UIScrollView. Мой код ниже:UIScrollView не будет щелкать для увеличения. (Swift)

class ViewController: UIViewController, UIScrollViewDelegate { 

    let imageView = UIImageView() 

    @IBOutlet weak var scrollView: UIScrollView! 
    override func viewDidLoad() { 
     super.viewDidLoad() 

     let image = UIImage(named: "cats.jpg") 
     imageView.image = image 
     imageView.frame = CGRect(origin: CGPointZero, size: image!.size) 
     scrollView.addSubview(imageView) 
     scrollView.contentSize = image!.size 
     scrollView.clipsToBounds = false 
     scrollView.layer.borderColor = UIColor.yellowColor().CGColor 
     scrollView.layer.borderWidth = 4.0 

     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 viewForZoomingInScrollView(scrollView: UIScrollView) -> UIView? { 
     return imageView 
    } 

} 

Что я здесь делаю неправильно? Я попытался настроить минимальную и максимальную шкалу, но не имеет никакого значения. Любые указатели на это были бы действительно оценены. Благодаря!

+0

Это, похоже, та же проблема, которую я испытываю. Как вы связали scrollview с представлением изображения в раскадровке? –

ответ

8

Добавьте к этому viewDidLoad:

scrollView.delegate = self 

Виду прокрутки нужен делегат (ваш контроллер зрения), чтобы получить представление для масштабирования (метод делегаты вы реализованы).

+1

спасибо. не могу поверить, что я пропустил это – KexAri

Смежные вопросы