피커

2017-02-24 8 views
1

나는 아래 그림에서이 같은 선택기를 만들 필요가 보기. 왼쪽에 약 200 개의 숫자가 있고 오른쪽에 100 개의 숫자가있는 것을 원합니다 (예를 들어). Xamarin.Forms PCL 프로젝트에서 어떻게 할 수 있습니까?피커

답변

1

처음으로 직면하게 될 문제는 여기에 표시되는 피커 컨트롤이 기본 iOS 컨트롤이라는 것입니다. Xamarin.Forms TimePicker은 기본적으로 물리적 제어가 아니지만 각 플랫폼의 기본 제어로 변환됩니다. 이것이 아래 그림에서 볼 수 있듯이 Android 및 UWP 장치에서 자체 모양 선택기 컨트롤을 제공하므로 모양이 달라집니다. 당신이 컨트롤이 다른 찾고 확인 인 경우

enter image description here

이제, 당신은 당신이 필요로하는 기능을 제공하기 위해 각 기본 컨트롤을 수정하거나 교체 할 custom renderers를 사용할 수 있습니다.

  1. CustomPicker 또는 뭔가라는 Xamarin.Forms 컨트롤을 새로 만듭니다.
  2. 각 플랫폼에 대한 사용자 지정 렌더러를 만듭니다.
  3. iOS의 경우 UIPickerView을 사용하고 numberOfComponents, numberOfRows 및 데이터 소스를 지정할 수 있습니다.
  4. Android에서는 기본적으로 iOS와 같은 스크롤 방식의 선택기 컨트롤이 없으므로 타사 컨트롤을 사용할 수 있습니다. WheelPicker는 유망 해 보인다.
  5. UWP에서 PickerFlyoutBase을 사용하여 문제를 해결할 수 있습니다. 플랫폼에 대한 지식은 제한되어 있지만 뭔가 쉽게 찾을 수 있어야합니다.

여기서 알 수 있듯이 각 플랫폼에서 스크롤 피커를 작동시키는 것은 상당한 노력이 될 것입니다.


편집 : Xamarin.Forms 앱의 페이지에 기본 컨트롤을 포함시킬 수있는 기본 포함을 조사 할 수도 있습니다.

Native Embedding

Embedding native controls into Xamarin.Forms