2012-10-05 128 views
2

我有UIScrollView,其內容視圖上有許多不同的子視圖(包括一些標籤)。在縮放內容視圖的過程中,所有這些不同的子視圖都按照預期放大。不過,我想UILabel子視圖的文本沒有改變。 我想未來:在UIScrollView縮放期間保持子視圖不轉換

-(void)scrollViewDidZoom:(UIScrollView *)scrollView { 
    // ... 
    UILabel* label = (UILabel*)[scrollView viewWithTag:labelTag]; 
    [label setTransform:CGAffineTransformMakeScale(1/scrollView.zoomScale, 1/scrollView.zoomScale)]; 
} 

雖然導致文字看起來醜陋(尤其是當比例係數比較大),即使我在scrollViewDidEndZooming:打電話[label setContentScaleFactor:scaleFactor]。 解決這個問題的可能性有多大?

回答

0

將uilabel放在滾動視圖之外。 這將解決您的問題。一切都會從標籤中縮小。

+0

是的,這種方式比試圖對已經在滾動視圖中的文本標籤應用反變焦要容易得多。你應該做什麼,而不是跟蹤滾動視圖座標空間中的點(你必須已經做好了這些點才能將它們排出),然後使用...(CGPoint)convertPoint:(CGPoint)point fromView:(UIView *)view ...找出標籤應該相應位置的方法,例如在滾動視圖父級的座標空間中。然後將它們添加到此父項中。 –

相關問題