2015-04-04 85 views
1

我想讓我的圖像能夠放大和縮小頁面視圖控制器內。滾動視圖不能放大或縮小快速

層:

--UIPageViewController

---- CustomPageContentController

------滾動型

--------的UIImageView

---------- UIImage

圖像顯示很好,b ut我無法放大或縮小通過捏。

如何通過swift代碼啓用此操作?

這是我目前有:

class PublicationPageView: UIViewController, UIScrollViewDelegate{ 

    var pageIndex:Int = 0 
    var publicationImageView:UIImageView! 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     println("pageIndex: \(pageIndex)") 
     publicationImageView.contentMode = UIViewContentMode.ScaleAspectFit 


     // Need to reposition the image 
     publicationImageView.frame = CGRectMake(0, 0, view.frame.width, view.frame.height-65-65) 
     println(publicationImageView.bounds.size) 


     var scrollView = UIScrollView(frame: CGRectMake(0, 0, view.frame.width, view.frame.height-65-65)) 

     scrollView.addSubview(publicationImageView) 
     scrollView.contentMode = UIViewContentMode.ScaleAspectFit 
     scrollView.maximumZoomScale = 4.0 
     scrollView.minimumZoomScale = 1.0 

     self.view.addSubview(scrollView) 



    } 

} 

這是一個最好的做法呢?或者有沒有更好的方法來做到這一點?我接受建議。

在此先感謝

回答

4

你需要實現一個UIScrollViewDelegate方法

func viewForZoomingInScrollView(scrollView: UIScrollView!) -> UIView! { 
    return imageView 
} 

在這裏,你回到了UIView被考慮縮放。

1

我花了很多時間調試和閱讀SO答案。這裏是一個疑難雜症:在SWIFT 3它現在叫:

func viewForZooming(in scrollView: UIScrollView) -> UIView? 

如果使用舊名稱它不只是工作沒有給你任何錯誤。