共用方式為


Xamarin.iOS 中的進度和活動指標

您的應用程式可能需要執行長時間執行的工作,例如載入或處理數據,而且此延遲可能會導致更新UI的延遲。 在此期間,您應該一律使用進度指示器,讓使用者放心系統正忙於執行工作。 這可讓使用者控制應用程式正在處理其要求、它未等候其輸入,而且可以提供詳細數據的方式,詳細說明他們必須等候的時間長度。

iOS 提供兩個主要方式,在您的應用程式中提供此進度指示:活動指標(包括特定 網路 活動指標)和進度列。

活動指示器

當您的應用程式執行長時間程式時,應該會顯示活動指標,但您不知道工作所需的確切時間長度。

Apple 有下列使用活動指標的建議:

  • 如果可能的話,請改 用進度列 - 因為活動指標為使用者提供執行程式所花費的時間沒有意見反應,因此,如果知道長度,請一律使用進度列(例如,檔案中要下載多少個字節)。
  • 讓指標保持動畫 - 使用者將靜止活動指標與停滯的應用程式產生關聯,因此您應該一律在顯示指標時以動畫顯示。
  • 描述正在處理 的工作 - 只顯示活動指標本身是不夠的,用戶必須知道他們正在等候的程式。 包含有意義的標籤(通常是單一完整句子),以清楚定義工作。

實作活動指標

活動指標是透過 UIActivityIndictorView 類別實作,以指出 UIActivity 正在發生 。

管理活動指標行為

StartAnimating()使用和 StopAnimating() 方法來啟動和停止活動指標動畫。

HidesWhenStopped 屬性設定為 true ,讓活動指標在呼叫之後 StopAnimating() 消失。 預設會設定為 true 。 您可以隨時查看活動指標是否正在執行其旋轉動畫,方法是檢查 IsAnimating 屬性。

管理活動指標外觀

列舉 UIActivityIndicatorViewStyle 可以在具現化活動指標時傳遞為參數。 您可以使用這個選項,將視覺樣式設定為 GrayWhiteWhiteLarge,例如:

activitySpinner = new UIActivityIndicatorView(UIActivityIndicatorViewStyle.WhiteLarge);

您可以藉由 UIActivityIndicatorViewStyle 設定 Color 屬性來覆寫所提供的色彩。

進度列

進度列會顯示為填滿色彩的線條,以指出耗時工作的狀態和長度。 當知道或可以計算工作的長度時,應該一律使用進度列。

Apple 有下列使用進度列的建議:

  • 正確報告進度 - 進度列應一律是完成工作所需時間的準確表示法。 永遠不要歪曲讓應用程式看起來忙碌的時間。
  • 用於定義完善的工期 - 進度列不僅應該顯示正在執行冗長的任務,而且會提供使用者和指示已完成多少任務,以及剩餘時間的估計。

實作進度列

藉由具現化 來建立進度列 UIProgressView

進度列和分鏡腳本

您也可以在使用 iOS 設計工具時,將進度列新增至 UI。 在 [工具箱] 中搜尋進度檢視,並將其拖曳至您的檢視。

您可以在屬性面板上調整下列屬性:

顯示 [屬性] 面板的螢幕快照,您可以在其中修改 Style、Progress Tint、Track Tint、Progress Image 和 Track Image 屬性。

管理進度列行為

一開始可以使用 屬性來設定 Progress 列的進度:

ProgressBar.Progress = 0f;

如果您想要讓變更變成動畫,則可以使用 SetProgress 方法來調整進度,並傳遞布爾值宣告。

ProgressBar.SetProgress(1.0f, true);

如需使用進度列的詳細資訊,請參閱 報告進度 配方。

管理進度列外觀

類似於活動指標, UIProgressViewStyle 列舉可以在具現化進度列時傳遞為參數。

您可以使用下列屬性來調整 [進度] 和 [追蹤影像] 和 [色調色彩]:

progressBar = new UIProgressView(UIProgressViewStyle.Default)
            {
                ProgressImage = UIImage.FromBundle("TrackImage"),
                ProgressTintColor = UIColor.Cyan,
                TrackImage = UIImage.FromBundle("TrackImage"),
                TrackTintColor = UIColor.Magenta
            };