2015-06-03 22 views
0

我有一個設置爲隱藏一個的UITextField改變時動畫爲UITextField,當我點擊搜索按鈕,我想使其可見,但我想創建一個像滑入式動畫,是如果我使用autoLayout,有可能重新創建這種效果?從隱藏到可見使用自動版式

我用動畫的代碼是當前的(它會創建一個淡入效果):

if(!currentSrcState) 
    { 
     _searchField.hidden = NO; 
     [UIView animateWithDuration:0.3 
           delay:0.0 
          options:UIViewAnimationOptionTransitionCurlDown 
         animations:^ { 
          _searchField.alpha = 1.0; 
         } 
         completion:nil]; 
     currentSrcState = YES; 
    } 
    else 
    { 
     [UIView animateWithDuration:0.3 
           delay:0.0 
          options:UIViewAnimationOptionTransitionCurlDown 
         animations:^ { 
          _searchField.alpha = 0; 
         } 
         completion:^(BOOL finished){ 
          _searchField.hidden = YES; 
         }]; 

     currentSrcState = NO; 
    } 

我想acheive是,當_searchField隱藏在約束被爲了重新計算移動什麼是searchField下向上

+0

您是否試圖將'_searchField'框架與'.alpha'一起動畫? – 0yeoj

+0

我嘗試設置高度爲0,但沒有奏效 – Signo

回答

0

代替設置爲隱藏按鈕,負荷前視圖設置其α值爲0.0。然後將您的代碼更改爲:

if(!currentSrcState) 
{ 
    [UIView animateWithDuration:0.3 
          delay:0.0 
         options:UIViewAnimationOptionTransitionCurlDown 
        animations:^ { 
         _searchField.alpha = 1.0; 
        } 
        completion:nil]; 
    currentSrcState = YES; 
} 
else 
{ 
    [UIView animateWithDuration:0.3 
          delay:0.0 
         options:UIViewAnimationOptionTransitionCurlDown 
        animations:^ { 
         _searchField.alpha = 0.0; 
        } 
        completion:nil]; 

    currentSrcState = NO; 
} 
+0

對不起,我想我已經解釋了我的問題錯了,動畫工作正常,問題是由佔領的UITextField的高度仍然存在,即使我將它設置爲隱藏因爲它具有約束條件,我想知道的是,如果可以重新計算約束條件以便也具有這種動畫 – Signo