Ход выполнения и индикаторы активности в Xamarin.iOSProgress and Activity Indicators in Xamarin.iOS

Вполне вероятно, что приложения должны выполнять длительно выполняемые задачи, например загрузки или обработки данных и что эта задержка может привести к задержке при обновлении пользовательского интерфейса.It's likely that your app will have to carry out long running tasks such as loading or processing data and that this delay may cause a delay in updating your UI. В это время следует всегда использовать индикатор хода выполнения, чтобы уверить пользователя, что система занята работой.During this time you should always use a progress indicator to reassure the user that the system is busy doing work. Это предоставляет пользовательский элемент управления, приложение работает на свой запрос, который не ожидает входные данные, и может обеспечивать содержит подробные сведения о точности, как долго они придется ждать.This gives the user control that the app is working on their request, that it's not waiting for their input, and can provide a means of detailing exactly how long they have to wait.

iOS предоставляет два основных способа для предоставления этот индикатор хода выполнения в приложении: Индикаторы активности (включая конкретного сети индикатор активности) и индикаторы выполнения.iOS provides two main ways to provide this progress indication in your app: Activity Indicators (including a specific network activity indicator) and Progress Bars.

Индикатор активностиActivity Indicator

Индикаторы активности должен отображаться, когда ваше приложение работает много времени, но вы не знаете точный продолжительность времени, требует выполнения задачи.Activity Indicators should be shown when your app is running a long process, but you don't know the exact length of time the task will require.

Apple имеет следующие рекомендации по работе с индикаторы активности:Apple has the following suggestions for working with Activity Indicators:

  • По возможности следует использовать вместо полосы хода выполнения — так как индикатор активности предоставляет пользователю ни один отзыв о том, как долго выполняемый процесс займет, всегда используйте индикатор хода выполнения, если длина является знаете (например, сколько байтов для загрузки в файле).Whenever Possible, use Progress Bars Instead - Because an Activity Indicator gives the user no feedback as to how long the process being run will take, always use a Progress Bar if the length is know (for example, how many bytes to download in a file).
  • Сохранить анимированный индикатор -пользователи связаны стационарные индикатор активности остановленная приложение, должны всегда иметь индикатор, анимировать, хотя он отображается.Keep the Indicator Animated - Users relate a stationary Activity Indicator to a stalled app so you should always have the indicator animated while it is being displayed.
  • Описания задачи обработки -простого отображения индикатора активности сама по себе недостаточно, пользователь должен быть в курсе процесса, они ожидают.Describe the Task being Processed - Just displaying the Activity Indicator by itself isn't enough, the user needs to be informed about the process they are waiting on. Включить значимые метку (обычно один, полное предложение), очевидно, определяющий задачу.Include a meaningful label (usually a single, complete sentence) that clearly defines the task.

Реализация индикатор активностиImplementing an Activity Indicator

Индикатор активности реализуется с помощью UIActivityIndictorView класс, чтобы указать, что UIActivity выполняется.An Activity Indicator is implemented through the UIActivityIndictorView class to indicate that a UIActivity is taking place.

Индикаторы активности и раскадровкиActivity Indicators and Storyboards

При использовании конструктора iOS для создания пользовательского интерфейса, индикатор активности можно добавить в макет из области элементов.If you are using the iOS Designer to create your UI, the Activity Indicator can be added to your layout from the Toolbox. Из панели свойств можно изменить следующие свойства:The following properties can be adjusted from the Properties Pad:

Панель свойств

Управление поведением индикатор активностиManaging Activity Indicator Behavior

Используйте StartAnimating() и StopAnimating() методы для запуска и остановки анимации индикатор активности.Use the StartAnimating() and StopAnimating() methods to start and stop the activity indicator animation.

Задайте HidesWhenStopped свойства true вносить исчезают после индикатора активности StopAnimating() был вызван.Set the HidesWhenStopped property to true to make the activity indicator disappear after StopAnimating() has been called. Это имеет значение true по умолчанию.This is set to true by default. В любой момент можно увидеть, если индикатор активности выполняется путем проверки его анимации вращающейся IsAnimating свойство.At any point you can see if the Activity Indicator is running its spinning animation by checking the IsAnimating property.

Управление внешний вид индикатора активностиManaging Activity Indicator Appearances

UIActivityIndicatorViewStyle Перечисления можно передать как параметр при создании экземпляра индикатора активности.The UIActivityIndicatorViewStyle enumeration can be passed as a parameter when instantiating the Activity Indicator. Это можно использовать для задания визуальный стиль Gray, White, или WhiteLarge, например:You can use this to set the visual style to Gray, White, or WhiteLarge, for example:

activitySpinner = new UIActivityIndicatorView(UIActivityIndicatorViewStyle.WhiteLarge);

Вы можете переопределить цвет, предоставляемые UIActivityIndicatorViewStyle , задав Color свойство.You can override the color provided by UIActivityIndicatorViewStyle by setting the Color property.

Progress BarProgress Bar

Индикатор хода выполнения представляется в виде линий, заполняется цветом, чтобы указать состояние и длину трудоемкой задачей.A Progress Bar presents as a line that fills with color to indicate the state and length of a time-consuming task. Всегда следует использовать индикаторы выполнения, при длину задачах будет знать или может быть вычислено.Progress Bars should always be used when the length of the tasks is know or can be computed.

Apple имеет следующие рекомендации по работе с индикаторы выполнения.Apple has the following suggestions for working with Progress Bars:

  • Точно сообщать о ходе выполнения -индикаторы выполнения всегда должно быть точное представление время, необходимое для выполнения задачи.Accurately Report Progress - Progress Bars should always be an accurate representation of the time required to complete a task. Никогда не исказить того, чтобы сделать приложение прерываться.Never misrepresent the time to make the app appear busy.
  • Используйте для длительности Well-Defined -индикатор хода выполнения должна отображаться не только что провайдер занимает размещения, но дает пользователя и указывает, какая часть задачи завершения, а также оценку оставшегося времени.Use for Well-Defined Durations - Progress Bar should not only show that a lengthy task is taking place, but give the user and indication of how much of the task is completed and an estimate of the time remaining.

Реализация индикатор хода выполненияImplementing an Progress Bar

Индикатор хода выполнения создается путем создания экземпляра UIProgressViewA Progress Bar is created by instantiating a UIProgressView

Индикаторы выполнения и раскадровкиProgress Bars and Storyboards

Можно также добавить индикатор хода выполнения для пользовательского интерфейса при использовании конструктора iOS.You can also add a Progress Bar to your UI when using the iOS Designer. Поиск представление хода выполнения в элементов и перетащите его в представление.Search for Progress View in the Toolbox and drag it to your view.

На панели свойств можно изменить следующие свойства:The following properties can be adjusted on the properties pad:

Панель свойств

Управление поведением индикатор хода выполненияManaging Progress Bar Behavior

Ход выполнения панели изначально задаются с помощью Progress свойство:The Progress of the bar can be initially set by using the Progress property:

ProgressBar.Progress = 0f;

Ход выполнения можно изменить с помощью SetProgress передачей логическое значение, объявления, если необходимо, чтобы изменение анимации или нет.The progress can be adjusted by using the SetProgress method and passing a boolean declaring if you want the change animated or not.

ProgressBar.SetProgress(1.0f, true);

Дополнительные сведения об использовании индикатора выполнения, см. отчетов о ходе выполнения рецепт и UICatalog tvOS пример.For more information on using the progress bar, refer to the Reporting Progress recipe, and the UICatalog tvOS sample.

Управление внешний вид индикатора хода выполненияManaging Progress Bar Appearance

Аналогичную индикатор активности UIProgressViewStyle перечисления можно передать как параметр при создании экземпляра индикатор хода выполнения.Similar to an activity indicator, the UIProgressViewStyle enumeration can be passed as a parameter when instantiating the Progress Bar.

Ход выполнения и отслеживания образа и оттенок цвета можно изменить с помощью следующих свойств:The Progress and Track Image and Tint Color can be adjusted by using the following properties:

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