2012-09-07 39 views
0

我需要一個具有飛濺功能的視圖。 但我不需要在應用程序加載的開始。 我在用戶異步請求處理期間需要這個。如何添加看起來像UIAlert的飛濺視圖

它的外觀應該像一個小警告框,但我想我的定製在這裏: 我不希望它看起來像任何其他UIAlertview。 我不希望任何按鈕(確定/取消),因爲它是應用程序需要時被丟棄。用戶不應該丟棄它。

我對兩種方法感到困惑: 我應該使用UIViewController(但想讓它看起來像一個模式框,也是警報大小,而不是320 X 480)? 或者我應該使用沒有按鈕的自定義UIAlertView?我懷疑自己是否有足夠的自由來玩。

+0

你的意思是你只是想用任何你想要的uiview來製作uiview,那uiview會像uialert視圖一樣彈出來? – Neo

回答

2

我認爲人們太專注於問題的警報視圖部分。您不需要以警報視圖爲基礎。使用MBProgressHUD

+0

感謝您對我所需要的非常直接的回答。也許在stackoverflow上沒有足夠的問題來解決這個問題,這就是爲什麼我從一開始就不清楚的原因?如果不是這樣,我會重申我的問題。 –

+0

我意識到的一件事是 - 目前的一套例子並不符合我的目的。他們都使用showWhileExecuting,要我定義我的後臺任務。但是這個任務是異步的。它立即返回,但我想要MBProgressHUD直到它的委託返回,而不是後臺任務。希望你得到我的問題?我卡住了,請幫忙! –

+0

看看這個URL例子,它處理一個異步任務。 – Jim

1

您可以輕鬆地使用UIAlertView中沒有任何按鍵!

splashAlertView = [[UIAlertView alloc] initWithTitle:@"Data is Loading" 
              message:@"Please wait until data will finish loading" 
              delegate:self 
            cancelButtonTitle:nil 
            otherButtonTitles:nil]; 

[splashAlertView show]; 
[splashAlertView addSubview:yourSplashSubview]; 

然後,當您的數據將完成加載只要致電:

[splashAlertView dismissWithClickedButtonIndex:-1 animated:0]; 
[splashAlertView release]; 
splashAlertView = NULL; 
+1

感謝您的簡單方法,我想我會嘗試除了MBProgressHUD之外,看看我是否可以按我想要的方式調整它。這會給我一些鍛鍊,如果有的話,超出我的期限允許:-) –

1

另一種選擇是隻使用一個UIView子類。您可以按照自己想要的樣式設置UIView,並且無論何時需要顯示「警報」,都可以創建視圖的實例並將其添加到當前的可見視圖中。

禁用當前可見視圖上的交互,直到此UIView可見。當您從最頂端的視圖中移除它時,請再次啓用交互。

+0

感謝您的方法,但是我正在尋找一些更具體的事情,事先做過,有一些示例代碼,這將幫助我衝進與我的截止日期:-)我相信MBProgressHUD解決我真正需要的東西。 –

+0

是的,它也使用UIView。 – lostInTransit