2012-07-26 24 views
2

正如標題所說,我希望我的某個對象在一段時間後消失。我在網上搜索了關於這個主題的網頁,我找不到任何答案或教程,所以我從這裏請教。使視圖控制器上的對象在一段時間後消失?

示例:

用戶打開應用程序。

視圖控制器來到屏幕上,它上面有一個標籤。

該標籤在5秒後消失。

我該怎麼辦?

我需要使用動畫嗎?

我真的很喜歡這樣做沒有任何動畫(如果製作動畫是很容易再確定)

你能解釋它一步一步來,請我會努力讓我的標籤消失第一,然後我會作出視圖對象消失。我知道它想要一個視圖消失的奇怪我可以使用另一個視圖控制器,但我不想它,我想編碼它消失後的時間。

謝謝。

回答

8

所有你需要做的就是設置一個計時器。例如,

//In your viewDidLoad method of your view controller 
[NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(hideLabel) userInfo:nil repeats:NO]; 

//In a method called hideLabel 
- (void) hideLabel 
{ 
    self.myLabel.hidden = YES; //This assumes that your label is a property of your view controller 
} 

就是這樣。

+0

Oke我會將這段代碼實現到我的m文件中。我會在幾分鐘內與你分享結果。 – 2012-07-26 01:33:29

+0

如果出於某種奇怪的原因,它不起作用,請讓我知道到底發生了什麼,並且可能會發布一些代碼。 – Nosrettap 2012-07-26 01:34:17

+0

它的工作非常感謝你。我可以爲視圖對象執行此操作嗎?如果我使該視圖消失,附加到該視圖的其他對象也會消失嗎? – 2012-07-26 01:40:33

3

啓動一個定時器是這樣的:

[NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(hideWithAnimation) userInfo:nil repeats:NO]; 

然後當計時器命中開始的動畫,這是很容易做到:

- (void)hideWithAnimation { 

    [UIView animateWithDuration:0.5 
          delay:0.0 
         options:UIViewAnimationOptionTransitionCrossDissolve 
        animations:^{ 
            // Fade the label 
            [myLabel setAlpha:0] 
           }; 
        completion:NULL]; 
} 

這裏是UIView的尋找類方法的文檔:

UIView class reference

+0

oww所以我們可以淡化它很好我也會試試這個,那麼我會讓你知道,謝謝 – 2012-07-26 01:45:39

+0

你可以通過擺脫計時器並在創建動畫時將delay參數設置爲5.0來簡化它。 – 2012-07-26 01:52:44

+0

我們可以把這個訂單分配給一個按鈕嗎?如果我將這些代碼寫入Ibo按鈕操作並將無效資金放入其中,它會起作用嗎? – 2012-07-26 02:03:52

相關問題