2013-11-01 22 views
2

我的要求如下。在縮小時自動設置的可用數字和字體大小

我在UIView width & height is 30內添加了UILable。我已將UIPinchGestureRecognizer設置爲UIView。捏合功能與UIView工作正常。

但我希望當我放大UILable字體大小和numberOfLine自動設置在該UIView

所以最初的UILable在View中不可見。當我放大那個時間UILable得到的是要顯示textUILable將可見(例如這次在3行)。如果我增加縮放級別比文字將顯示在一行。

如何歸檔此功能?

請參見下面的截圖我想要做的

********圖片1 *****************

什麼enter image description here ********圖片2 *****************

enter image description here ********圖片3 ***** ************

在此先感謝..

+0

我的答案是否有效? –

+0

看到這個鏈接其有用的文字與放大/縮小和旋轉http://stackoverflow.com/questions/16038304/is-this-coretext-aviary-text-pinch-zoom-expand –

回答

2

看到這個:resize all subview in scrollViewDidZoomscrollViewDidZoom您可以按比例設置字體大小到zoomScale。我建議在標籤上設置numberOfLines爲0,但當然你也可以在放大/縮小時手動設置它。

+0

你的回答是正確的根據這個問題。如此接受。 – Hitarth

3

您可以使用委託時,檢測變焦變化,讓您的標籤可見,則:

- (void)scrollViewDidZoom:(UIScrollView *)scrollView 
{ 
    if (scrollView.zoomScale > minimunScaleToShowZoom) 
    { 
     myLabel.hidden = NO; 
    } 
    else 
    { 
     myLabel.hidden = YES; 
    } 
} 

播放不同的值minimunScaleToShowZoom和檢查哪一個適合你。

+0

我不想只lable隱藏和顯示。當UIView放大時,Number of Line也會保持不變。目前我正在嘗試使用UIScrollView放大/縮小功能,但沒有取得成功..你有什麼想法嗎? – Hitarth