2016-05-12 142 views
0

我已經設置了我的UILabel自動縮放文本以適應標籤框架。在運行期間,我正在改變這個框架的大小來爲下面的東西騰出空間,但我真的希望大小改變是動畫的,因爲文本從一個大小跳到一個小的文本,看起來不太好。Animate自動UILabel文本大小更改

有什麼辦法可以做到這一點?

+0

提到的手動更改他的標籤的字體大小,而我的字體大小的變化自動根據標籤的大小問題的傢伙,使用最小的字體比例。 –

+1

沒有區別。只需要使用一個參數。 – Coder1000

+0

什麼?沒有代碼改變字體大小 –

回答

0

要使用UIView.animateWithDuration設置高度變化的動畫效果。這裏有一個例子動畫化UILabel與2秒持續時間的高度變化:

@IBOutlet weak var label: UILabel! 

override func viewDidLoad() { 
    super.viewDidLoad() 

    let updatedHeight: CGFloat = 100.0 
    let updatedFrame = CGRect(origin:label.frame.origin, 
    size: CGSize(width:label.frame.width, height: updatedHeight)) 

    UIView.animateWithDuration(2.0, animations: { 
    self.label.frame = updatedFrame 
    }) 
} 
+0

這不是我正在尋找。我已經對高度變化進行了動畫處理l - 我正在尋找的是動態調整標籤大小調整後發生的自動字體大小變化,以適當地適應文本。 –

+0

由於您正在降低UILabels高度,您是否可以使用變換? 'let labelScale = updatedLabelFrame.height/originalLabelFrame.height''self.label.transform = CGAffineTransformScale(self.label.transform,labelScale,labelScale)'這會給你[下面的動畫](http://i.stack。在UIView.animateWithDuration裏面 –