簡體   English   中英

將樣式應用於Xamarin.Forms中的iOS自定義渲染器

[英]Applying a style to an iOS custom renderer in Xamarin.Forms

我正在開發一個簡單的Xamarin.Forms應用程序,並且已經為Android和UWP創建了自定義Entry渲染器。

我已經成功將自己的自定義樣式應用於Entry渲染器,如下所示:

  • 對於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)應用樣式?

您可以像這樣為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;      
            }
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM