簡體   English   中英

使用捏手勢調整UILabel的大小

[英]Using a pinch gesture to resize a UILabel

我想讓用戶用捏手勢調整UILabel的大小。 單獨使用CGAffineTransformScale不能完成任務,因為按比例放大標簽中的文本會變得模糊。

因此,我實際上正在使用CGAffineTransformScale來顯示它的縮放比例,保存幀大小,還原轉換標識並最終確定幀大小。 一個簡單的switcheroo,但是它可以工作。

-(void)handlePinch:(UIPinchGestureRecognizer *)recognizer{
    if(recognizer.state == UIGestureRecognizerStateBegan){
        startingTransform = self.transform;
    }
    recognizer.view.transform = CGAffineTransformScale(recognizer.view.transform, recognizer.scale, recognizer.scale);
    recognizer.scale = 1;

    if (recognizer.state == UIGestureRecognizerStateEnded){            
        CGRect endFrame = self.frame;
        self.transform = startingTransform;

        self.frame = endFrame;
    }
}

最終結果是為UILabel調整了尺寸。 但是,文本無法按比例放大以適合標簽。 另外,屬性adjustsFontSizeToFitWidth僅適用於向下縮放,而不能向上縮放( 參考 )。 那么我該怎么做才能使標簽擴大以適合框架?

我想您已經開始嘗試了。 adjustFontSizeToFitWidth屬性只會將字體大小從設置為任何大小下調下來 ...那么,如果將標簽的字體大小設置為非常大的值會怎樣? 與您的標簽可能的鏡框尺寸相比,像它的巨大,巨大,令人難以置信的大嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM