![](/img/trans.png)
[英]Xamarin.Forms gradient background for Button using Custom Renderer with 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.