2016-08-24 2 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); 
    } 
    
  • のためのAndroid

    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;  
      } 
     } 
関連する問題