我已經設置了我的UILabel自動縮放文本以適應標籤框架。在運行期間,我正在改變這個框架的大小來爲下面的東西騰出空間,但我真的希望大小改變是動畫的,因爲文本從一個大小跳到一個小的文本,看起來不太好。Animate自動UILabel文本大小更改
有什麼辦法可以做到這一點?
我已經設置了我的UILabel自動縮放文本以適應標籤框架。在運行期間,我正在改變這個框架的大小來爲下面的東西騰出空間,但我真的希望大小改變是動畫的,因爲文本從一個大小跳到一個小的文本,看起來不太好。Animate自動UILabel文本大小更改
有什麼辦法可以做到這一點?
要使用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
})
}
這不是我正在尋找。我已經對高度變化進行了動畫處理l - 我正在尋找的是動態調整標籤大小調整後發生的自動字體大小變化,以適當地適應文本。 –
由於您正在降低UILabels高度,您是否可以使用變換? 'let labelScale = updatedLabelFrame.height/originalLabelFrame.height''self.label.transform = CGAffineTransformScale(self.label.transform,labelScale,labelScale)'這會給你[下面的動畫](http://i.stack。在UIView.animateWithDuration裏面 –
提到的手動更改他的標籤的字體大小,而我的字體大小的變化自動根據標籤的大小問題的傢伙,使用最小的字體比例。 –
沒有區別。只需要使用一個參數。 – Coder1000
什麼?沒有代碼改變字體大小 –