2013-05-29 67 views
0

我想在我的應用程序登錄後顯示IOS中的新視圖。如果用戶已經登錄到此應用程序,我還想在啓動應用程序時顯示此視圖。在ios 3秒鐘登錄後顯示加載視圖

現在,如果我第一次啓動應用程序,我有登錄視圖,我可以寫我的用戶名和密碼。當我按下發送按鈕(登錄)時,下一個控制器啓動。我想在從Web服務下載信息的同時設置2或3秒一個視圖。我不在乎信息是否比兩秒鐘快,因爲我想等待這個時間。我將用戶信息保存在NSUserdefaults中。

下一次我啓動應用程序我已經有了這些信息,我直接進入下一個viewcontroller而沒有看到任何登錄視圖。所以我想看看加載視圖。

我使用AFNetworking來使用我的Web服務。

回答

0

你有兩個選擇,似乎有點武斷,以顯示它2秒,但你可以提出的觀點,然後:

[myView performSelector:@selector(setHidden:) withObject:[NSNumber numberWithBool:YES] afterDelay:3.0]; 

或者是什麼你應該做的是隱藏的視圖或將其設置您AFNetworking電話會議結束塊內零,如果這樣的通話時間超過2-3秒的時間,該視圖不會消失

0

您可以調用的方法使用該延遲後隱藏的看法:

[self performSelector:@selector(hideView) withObject:nil afterDelay:3.0]; 
0

這裏有一個想法,使用GCD:

  1. 商店的登錄信息到鑰匙扣(NSUserDefaults只是普通的不安全的密碼!),並駁回其保存後立即登錄窗口。
  2. 當顯示loding視圖時,創建一個dispatch組並在那裏提交登錄和下載邏輯。 (com.example.login線程)
  3. 使用的NSTimer(或任何適當的邏輯),等待3秒,然後產卵在GCD另一個線程(com.example.login-wait線程),呼叫dispatch_group_wait以阻止線程,直到com.example.login線程完成,並提交塊回到主隊列切換視圖。

我在多個應用程序中使用此登錄,它看起來棒極了。