2014-03-25 31 views
1

是他們寫這段代碼的新方法......無論如何,我需要用戶按下按鈕先下去然後再往上下來,測量結果是:對於y,對於x,對於x,對於160,對於160,這是如何完成的?如何使一個按鈕做兩個動作 - 提升,當第二次按下時?

- (IBAction)closeHints:(id)sender { 

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:0.5]; 
CGPoint center = [hints center]; 
center.x = 160; 
center.y = 290; 
[hints setCenter:center]; 

[UIView commitAnimations]; 
} 
+0

看的文檔的'UIView',並尋求爲基於塊的動畫的方法。 – rmaddy

+0

您需要保留一個bool變量,您可以使用它來知道您是否需要上升或下降 - 測試其值,根據需要設置動畫,然後翻轉布爾值,如果爲YES,則將其設置爲NO,反之亦然 – Paulw11

+0

@rmaddy是的,先生,馬上就會做! – JohnGray

回答

0
- (IBAction)closeHints:(id)sender { 
    [UIView animateWithDuration:0.5 
          delay:0 
         options:UIViewAnimationOptionBeginFromCurrentState 
        animations:^{ 
         CGPoint center = [hints center]; 
         if(hints.center.y != 290){ 
           center.y = 290; 
         } 
         else{ 
           center.y = originY; //you should define it 
         } 
         [hints setCenter:center]; 
        } 
        completion:nil]; 

} 
+0

這有一個問題:];};它的工作 – JohnGray

+0

我很抱歉,我編輯了我的代碼。 – simalone

相關問題