2012-03-28 41 views
1

我有一個應用程序,其中我有一個IBAction,它可以識別點擊手勢,並且我想讓點擊讓屏幕上的按鈕消失,然後一旦點擊就會重新出現。獲取按鈕消失和收割者

- (IBAction)showFullScreen:(UITapGestureRecognizer *)sender { 








} 

我知道它可能是一個動畫。我有4個按鈕,UIImageView是我需要自己出現的

回答

3

試試這個:

-(void)showButton { 
self.button.hidden = NO; 
} 


-(IBAction) hidebutton{  
[self performSelector:@selector(showButton) withObject:nil 
afterDelay:1.5];} 
4

你的意思是你想讓他們連續運行兩個動畫?嘗試:

[UIView animateWithDuration:1 animations:^{ 
    view1.layer.opacity = 0; 
    view2.layer.opacity = 0; 
} completion:^(BOOL finished){ 
    [UIView animateWithDuration:1 animations:^{ 
     view1.layer.opacity = 1; 
     view2.layer.opactiy = 1; 
    }]; 
}]; 

您將需要包括CoreGraphics在訪問層屬性。

#import <QuartzCore/QuartzCore.h> 

你的另一種選擇是使用一個關鍵幀動畫與CAKeyframeAnimation

+0

打我吧! – aopsfan 2012-03-28 21:13:06

+0

我希望用戶能夠在按鈕消失後再次點擊以使其重新出現。類似的照片應用程序 – Gabriel 2012-03-29 05:17:16

1

隱藏 mybutton.hidden = YES; 顯示爲 mybutton.hidden = NO;

0

對我來說聽起來像你有兩個步驟:第一個水龍頭使按鈕消失,一個圖像出現,seocnd水龍頭反轉它。由於alpha值是浮點數,並且浮點數對於具有可以使用==進行比較的確切值不是很可靠,所以我傾向於使用外部bool屬性來跟蹤這種類型的東西。 (我還沒有真正看到很多問題與使用它的阿爾法,可以隨意只需選中字母變量代替)

if(buttonsShowing)//(button1.view.opacity==1) 
{ 
    [UIView animateWithDuration:1 animations:^{ 
     button1.view.opacity = 0; 
     button2.view.opacity = 0; 
     button3.view.opacity = 0; 
     imageView.opacity = 1; 
    }]; 
} 
} 
else 
{ 
    [UIView animateWithDuration:1 animations:^{ 
     button1.view.opacity = 1; 
     button2.view.opacity = 1; 
     button3.view.opacity = 1; 
     imageView.opacity = 0; 
    }]; 
} 
buttonsShowing=!buttonsShowing; 
+0

更新的文本 - 我的意思是阿爾法 – RonLugge 2012-03-28 22:58:45

+0

我很新開發。所以你提供的代碼將執行我需要他們的行爲,如果我只是複製代碼,並堅持點擊手勢的方法,並將按鈕重命名爲我分配的名稱 – Gabriel 2012-03-28 23:00:50

+0

這是一個問題或聲明? :D我對你想要做什麼和你的整體結構做了大量的假設。由於IB提供的九分之九以上是基於視圖的,所以幾乎對象可以(如果鏈接到)賦予一個不透明的值 - UIButtons,UILabels,UIImageViews等等。如果你想要交換按鈕和圖像,這應該工作。 – RonLugge 2012-03-28 23:22:47