2012-04-03 93 views
1

我有一個應用程序,我正在使用縮放scrollView將圖像裁剪爲具有固定寬高比的矩形。我有一個遮罩,可以遮擋將要裁剪的圖像部分。目前,我將這個子視圖添加到UIScrollView的父級,使它們成爲兄弟姐妹,其中此掩碼比scrollview'更高'。看起來很棒。除...如何在UIScrollView的滾動指標下放置一個非滾動UIView?

這面具也掩蓋scrollIndicators,所以看起來有點啞。我可以關掉scrollIndicators,或者理想,我想這個地方的的UIView下scrollIndicators,但沒有得到與其他的內容,這是,如果我做它通過[滾動視圖addSubview滾動視圖的子視圖會發生什麼滾動: myMaskView];

任何人都知道這是可能的嗎?

回答

0

首先,UIScrollView的子類,這樣就可以修改滾動視圖的默認行爲。

然後用圖像創建圖像視圖,並將圖像視圖和遮罩視圖都放到滾動視圖中,這樣您的視圖將位於滾動指示器的下方。

第三,在滾動視圖的委託方法viewForZoomingInScrollView:,回報您的圖像視圖,以便只圖像視圖縮放。請注意,滾動視圖會將內容大小調整爲返回視圖的大小,但只要您的圖像視圖佔據整個內容大小就可以了。

而在去年,重載layoutSubviews方法,將面膜以滾動視圖的可視範圍。據稱layoutSubviews方法被稱爲每一幀滾動,所以位置改變對最終用戶不可見。

有關更多詳細信息,請參閱WWDC會話視頻「高級滾動視圖技術」。

編輯:好的,剛發現你可以避免通過實現委託方法scrollViewDidScroll重寫layoutSubviews。