2013-07-01 65 views
2

我一直在爲此奮鬥了大約一天。基本上我想從底部到頂部揭示一個標籤,而不用在任何時候移動文本或調整大小。揭示效應。就像在下面的圖片enter image description hereUILabel揭示動畫(不移動或調整文本大小)

我到目前爲止所有的解決方案導致文本移動。我甚至嘗試做一個縮放轉換(將anchor設置爲底部),但是這導致了在動畫發生時調整大小的文本。我也嘗試將標籤放在視圖中並調整視圖的大小(並將autoresize子視圖設置爲NO並將子視圖剪輯爲YES),但仍然會導致其中的標籤移動。

回答

2

在Hello World頂部放置一個不透明的視圖並向上滑動。如果您有上面的UI元素,請確保它們位於滑動元素上方。

+0

我在標籤下有UI元素。所以不會工作。 –

2

您可以創建一個標籤。然後創建一個視圖並放在它上面。它會使標籤隱藏起來。然後向上移動視圖。

+0

這個標籤下面會有東西,所以放在一切移動視圖的頂部是行不通的。 –

0

如果恢復的方向是可接受的(從上到下顯示),您可以爲框架原點和框架大小設置動畫。如果標籤的尺寸小於文字,則下部將被切掉。聽起來像是一個小妥協的最簡單的解決方案。

0

有點晚了,但如果其他人正在尋找一個答案,你可以使用:

-(void)inverseResizeView: (UIView *)view width:(int)deltaWidth height:(int)deltaHeight { 
view.frame = CGRectMake(view.frame.origin.x - deltaWidth, view.frame.origin.y - deltaHeight, view.frame.size.width + deltaWidth, view.frame.size.height + deltaHeight); 
} 

使用方法如下爲例:

[UIView animateWithDuration: 0.8 animations:^{ 

    [self inverseResizeView: text.container width: 0 height: text.container.height]; 

}]; 

要在做一個倒轉動畫一個看法。