Xamarin.ios의 진행률 및 작업 표시기Progress and Activity Indicators in Xamarin.iOS

앱에서 데이터 로드 또는 처리와 같은 장기 실행 작업을 수행 해야 할 수 있으며,이 지연으로 인해 UI 업데이트가 지연 될 수 있습니다.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. 이 시간 동안에는 항상 진행률 표시기를 사용 하 여 시스템에서 작업을 수행 하는 데 사용 중인 사용자를 reassure 합니다.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 Designer를 사용 하 여 UI를 만드는 경우 도구 상자에서 활동 표시기를 레이아웃에 추가할 수 있습니다.If you are using the iOS Designer to create your UI, the Activity Indicator can be added to your layout from the Toolbox. Properties Pad에서 다음 속성을 조정할 수 있습니다.The following properties can be adjusted from the Properties Pad:

Properties Pad

활동 표시기 동작 관리Managing Activity Indicator Behavior

StartAnimating()StopAnimating() 메서드를 사용 하 여 작업 표시기 애니메이션을 시작 하 고 중지할 수 있습니다.Use the StartAnimating() and StopAnimating() methods to start and stop the activity indicator animation.

StopAnimating() 호출 된 후 작업 표시기가 사라지게 하려면 HidesWhenStopped 속성을 true로 설정 합니다.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);

Color 속성을 설정 하 여 UIActivityIndicatorViewStyle에서 제공 하는 색을 재정의할 수 있습니다.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.
  • 잘 정의 된 기간에 사용 -진행률 표시줄은 시간이 오래 걸리는 작업을 표시 하는 것 뿐만 아니라 완료 된 작업의 양과 남은 시간을 보여 줍니다.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

진행률 표시줄 및 StoryboardProgress Bars and Storyboards

IOS Designer를 사용 하는 경우 UI에 진행률 표시줄을 추가할 수도 있습니다.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:

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
            };