Xamarin.iOS의 슬라이더, 스위치 및 분할된 컨트롤

슬라이더

슬라이더 컨트롤을 사용하면 범위 내에서 숫자 값을 간단하게 선택할 수 있습니다. 컨트롤은 기본적으로 0에서 1 사이의 값으로 설정되지만 이러한 제한은 사용자 지정할 수 있습니다.

Slider

다음 스크린샷은 디자이너에서 편집할 수 있는 속성을 보여 줍니다.

Slider Properties

컨트롤에 현재 선택한 값을 표시하도록 처리기를 배선하는 것을 포함하여 아래와 같이 코드에서 UILabel 이러한 값을 설정할 수 있습니다.

slider1.MinValue = -1;
slider1.MaxValue = 2;
slider1.Value = 0.5f; // the current value
slider1.ValueChanged += (sender,e) => label1.Text = ((UISlider)sender).Value.ToString ();

설정하여 슬라이더의 시각적 모양을 사용자 지정할 수도 있습니다.

slider1.ThumbTintColor = UIColor.Blue;
slider1.MinimumTrackTintColor = UIColor.Gray;
slider1.MaximumTrackTintColor = UIColor.Green;

사용자 지정된 슬라이더는 다음과 같습니다.

Custom Slider

Important

현재 런타임에 예상대로 렌더링되지 않는 버그 ThumbTint 가 있습니다. 해결 방법으로 위의 코드 앞에 다음 코드 줄을 추가할 수 있습니다. [원본]:

slider1.SetThumbImage(UIImage.FromBundle("thumb.png"),UIControlState.Normal);

재정의되므로 모든 이미지를 사용할 수 있지만 리소스 디렉터리에 배치 되고 코드에서 호출되는지 확인합니다.

Switch

iOS는 다른 플랫폼의 UISwitch 라디오 단추로 나타낼 수 있는 부울 입력으로 사용합니다. 사용자는 켜기/끄기 위치 간에 엄지 손가락을 이동하여 컨트롤을 조작할 수 있습니다.

Switch

디자이너의 Properties Pad에서 스위치의 모양을 사용자 지정할 수 있으므로 기본 상태, 켜기/끄기 색조 색 및 켜기/끄기 이미지를 제어할 수 있습니다. 아래 이미지에 나와 있습니다.

Switch Properties

스위치의 속성은 코드에서 설정할 수도 있습니다. 예를 들어 아래 코드는 기본값 On이 다음과 같은 스위치를 표시합니다.

switch1.On = true;

분할된 컨트롤

분할된 컨트롤은 사용자가 적은 수의 옵션과 상호 작용할 수 있도록 하는 조직화된 방법입니다. 가로로 배치되고 각 세그먼트는 별도의 단추로 작동합니다. 디자이너를 사용하는 경우 Segmented Control은 ToolBox > 컨트롤에서 찾을 수 있으며 다음 이미지와 같이 표시됩니다.

Segmented Control icon.

디자이너의 고유한 기능을 사용하면 아래 그림과 같이 디자인 화면에서 각 세그먼트를 개별적으로 선택할 수 있습니다.

Segmented Control segments selected individually.

이렇게 하면 Properties Pad를 사용하여 각 세그먼트의 속성을 보다 정확하게 제어할 수 있습니다. 아래 스크린샷에서 편집 가능한 속성을 볼 수 있습니다.

Segmented Control properties.

분할된 컨트롤 스타일은 iOS7에서 더 이상 사용되지 않으므로 iOS7 애플리케이션에서 이에 대한 옵션을 조정해도 아무런 영향을 주지 않습니다.