2014-09-22 63 views
3

我試圖使用動畫增加標籤高度,但動畫會導致標籤首先從中心展開,然後用正確的y點跳到適當位置。這看起來很糟糕。我只想擴大底部。UILabel更改高度,動畫從中心展開

[UIView animateWithDuration:0.5 delay:0.0f options:UIViewAnimationOptionTransitionNone animations:^{ 

    [self.about increaseHeightFromTopLeft:deltaHeight]; 

    [self.scrollView increaseContentHeight]; 

} completion:nil]; 


- (void)increaseHeightFromTopLeft:(CGFloat) increased { 

    CGRect newFrame = CGRectMake(self.originX, self.originY, self.frameWidth, self.frameHeight + increased); 

    self.frame = newFrame; 
} 

該標籤被稱爲about,你可以在這裏看到動畫的視頻。 https://www.youtube.com/watch?v=DcqktIZ9moY&feature=youtu.be

+1

爲了我的眼睛,需要動畫是按鈕下面的東西。標籤的文字本身不是一個動畫屬性。標籤可能會開始很大,部分由它們共享的子視圖上的按鈕覆蓋,然後您更改標籤中的文本並滑動按鈕 – danh 2014-09-22 21:14:02

+0

儘管這不是我正在查看的答案,但我仍然按照您的建議和它進行了操作看起來不錯。 Thx – 2014-09-24 07:26:59

回答

7

面臨同樣的問題! 嘗試設置標籤」 contentMode頁首代碼:

label.contentMode = UIViewContentModeTop; 
+0

好問題,很好的答案。他應該接受你的答案。你爲我節省了很多時間。謝謝。 – oyalhi 2016-04-18 17:14:38

+0

非常好的答案。但是,如果您更喜歡自動佈局,則可以在「查看」下的「屬性」檢查器中設置「內容模式」。我將它設置爲Top,並按預期工作。 – 2017-12-13 04:42:14