2012-08-03 60 views
0

我遇到了標籤和文本字段的動畫問題。標籤消失,文本字段不做任何事情。我不知道爲什麼,但用按鈕我沒有問題。認爲失去了一些真正愚蠢的東西。那麼這裏是一個多麼我已經嘗試了標籤:動畫標籤和文本字段的問題(objective-c)

UILabel *label = (UILabel*)[self.view viewWithTag:1]; 
[UIView animateWithDuration:1 animations:^{label.frame = CGRectMake(0,0,1,1);}]; 

對於文本字段:

UITextField *box = (UITextField*)[self.view viewWithTag:1]; 
[UIView animateWithDuration:1 animations:^{box.frame = CGRectMake(0,0,1,1);}]; 

什麼,我缺少什麼?

+0

他們在主線程上運行嗎? – holex 2012-08-03 14:35:35

回答

2

CGRectMake(0,0,1,1)將會是一個非常小的盒子。它們並沒有消失,而是將它全部推進到一個像素中。嘗試一些更合理的,如CGRectMake(0,0,100,50),看看是否有效。

CGRectMake被定義爲:

CGRect CGRectMake (
    CGFloat x, 
    CGFloat y, 
    CGFloat width, 
    CGFloat height 
); 

所以你的寬度和高度設置爲1

如果你只是想移動中心不調整,試試這個。

[UIView animateWithDuration:1 animations:^{label.center = CGPointMake(x,y);}]; 

其中x和y是新中心的座標。

+0

你是對的,我認爲你不能用標籤做CGRectMake(0,0,1,1),因爲文本不能包含在太小的空間中,這就是爲什麼消失。但是,我無法使其與textfield一起工作:/。但是,無論如何感謝:) – 2012-08-03 14:41:36

+0

嘗試像我在帖子中建議的那樣移動中心。那樣有用嗎? – 2012-08-03 14:45:35

+0

我明白了,我在這個問題上發佈的代碼是在一起的,因爲兩者都有標籤:1,這是造成麻煩的原因。我將textfield的標籤更改爲2,並且它工作正常。謝謝 :)。 – 2012-08-03 14:48:36