[英]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.