UIScrollView 在Autolayout下使用的一些問題

1、UIScrollView 雙指放大手勢,雙擊放大實現容器

  在設置UIScrollView的frame後、maxZoomScale 和 minZoomScale以後,UIScrollView會天然支持雙指捏合的手勢,天然支持放大縮小方法

  對於雙擊的手勢,只要添加一個tap雙擊的識別器,而後在響應的時候,計算出來放大縮小以後的中心點(須要加上當前點擊位置的向量),獲得最終的rect就好了layout

 

2、Autolayout的問題view

  若是使用了Autolayout,若是UISCrollView中的內容不須要放大,那麼可使用下面的思路vi

    用一個容器View,包含全部顯示的內容,而且設置好顯示內容的約束,在橫向和豎向的方向上,約束都是知足的,能夠計算出寬高co

    而後設置好UISCrollView和容器之間的約束,也就是edges相等

    經過上面的設置,UISCrollView可以天然計算出來contentSize的大小

 

  若是內容須要實現zoom,那麼上面的容器View和UISCrollView之間的關係必定不能使用Autolayout來限制,必定要在某個layoutsubviews中設置好 容器View 的frame等於 UISCrollView 的bounds

  這樣的方式,可以避免放大縮小內容以後,Autolayout的約束帶來的反作用,好比不能拖動,不能方法縮小等。

相關文章
相關標籤/搜索