2016-12-10 74 views
1

我的UIScrollView只有一個customContentView作爲子視圖。這是作爲viewForZoomingInScrollView返回的:。但是這樣,我的customContentView的每個子視圖都被放大了:我想放大一些,其他的不放(例如標籤),但是當然相對位置應該保持不變。有沒有辦法做到這一點?UIScrollView:只能縮放一些視圖

+0

什麼阻止你使用兩個滾動型子視圖 - 其中包含可以縮放的組件和其他包含無法縮放的組件的組件? –

+0

我現在無法測試它,但是相對於彼此的位置保持正確,然後在縮放的視圖和那些不是的視圖之間?例如。一個帶有標籤旁邊的矩形視圖:矩形應該縮放,標籤不應該,但標籤應該始終保持在矩形旁邊。 – swalkner

+0

我剛測試過它 - 不,不幸的是,它們不能解決我的問題... – swalkner

回答

2

您需要申請逆尺度變換爲下面的標籤,

func scrollViewDidZoom(_ scrollView: UIScrollView) { 
    sampleLabel.transform = CGAffineTransform(scaleX: 1/scrollView.zoomScale, y: 1/scrollView.zoomScale) 
} 

放大之前,

BeforeZoom

放大後, After Zoom

+1

太棒了,真棒,完美! – swalkner