2016-08-24 3 views
0

간단한 Xamarin.Forms 앱을 개발 중이며 Android 및 UWP 용 사용자 정의 항목 렌더러를 만들었습니다.Xamarin.Forms의 iOS 사용자 정의 렌더러에 스타일 적용

나는 성공적과 같이 엔트리 렌더러에 내 자신의 사용자 지정 스타일을 적용했습니다 :

  • UWP

    protected override void OnElementChanged(ElementChangedEventArgs<Entry> e) 
    { 
        base.OnElementChanged(e); 
    
        var customControl = e.NewElement; 
        var nativeControl = new FormsTextBox(); 
    
        var style = Windows.UI.Xaml.Application.Current.Resources["UserNameEntry"] as Windows.UI.Xaml.Style; 
        nativeControl.Style = style; 
        nativeControl.PlaceholderText = customControl.Placeholder; 
        SetNativeControl(nativeControl); 
    } 
    
  • 를 들어 안드로이드

    protected override void OnElementChanged(ElementChangedEventArgs<Entry> e) 
    { 
        base.OnElementChanged(e); 
        if (e.OldElement == null) 
        { 
         var nativeEditText = (global::Android.Widget.EditText)Control; 
         nativeEditText.SetBackground(Resources.GetDrawable("@drawable/username")); 
        } 
    } 
    

의 경우 그래서, 어떤 것도 적용하기가 쉽지 않다. Android 및 UWP 플랫폼의 기본 스타일링 도구를 사용하여 맞춤형 스타일을 구현할 수 있습니다.

제 질문은 iOS에서도 동일한 작업을 수행 할 수있는 방법이 있습니까? UWP의 style.xaml이나 Android의 style.axml과 같은 설명 기반 파일을 사용하여 스타일을 적용하려면 어떻게해야합니까?

답변

0

이 같은 IOS에 대해 수행 할 수

protected override void OnElementChanged(ElementChangedEventArgs<Entry> e) 
     { 
      base.OnElementChanged(e); 

      if (Control != null) 
      { 
       Control.BorderStyle = UITextBorderStyle.None; 
       UIImage img = UIImage.FromFile("ImageName.png"); 
       Control.Background = img;  
      } 
     } 
관련 문제