Pages

Saturday, February 19, 2011

UIActivityIndicatorView 告知使用者請稍候

我們在寫 iPhone app 時後,如果碰到像是網路傳輸 networking 時候,速度是不固定的,有的地方載入會快速,但是有些地方就會變得很慢,這要看收訊好不好。所以如果我們程式有用到網路,如果碰到傳回來很慢,但是卻要告知使用者請稍候我們可以怎麼做呢?我們可以做一個 UIAlertView,裡面搭載訊息加上轉圈圈,提升更好的使用者體驗。

我們拿 UIAlertView 來使用,它會出現在畫面最上層,我們可以定義 Title 為請稍候 Please wait,接者讓它 show 顯示出來。另外在使用 UIActivityIndicatorView,在初始化的時候有幾種 Style 可以挑選:UIActivityIndicatorViewStyleWhiteLarge, UIActivityIndicatorViewStyleWhite, UIActivityIndicatorViewStyleGray。這邊我們選擇 UIActivityIndicatorViewStyleWhiteLarge。再來我們定義他要出現的位置,中央是哪一個點,最後開始跑圈圈,並且掛載到我們前面的 UIAlertView 上。

那怎麼停止呢?另外開一個 method 叫做 performDismiss 讓裡面可以停止該 alert 的程式碼即可。

最後將兩個 methods 搭上線。如果程式有用 Cocoa delegate pattern 可以透過某個事情結束 callback 回來執行是一種方法,這邊先以固定秒數結束來看範例。


以下為程式範例:在 Header 加上 protocol


在 Implement file 裡面寫


透過以上我們即可在我們自己開發的 iPhone App 做出這樣轉圈圈告知使用者請稍候的效果了。此範例為我參考 he iPhone Developer's Cookbook - Ch 10 - Alerts 的學習摘錄。

1 comment:

  1. 傳說中的轉轉轉又出現了...瞧我七彩霓虹燈~~

    ReplyDelete