创建一个 UIView 渲染器
Creating a UIView Renderer
我在 Xamarin 中创建渲染器时遇到问题。
我试图在渲染器中显示另一个视图,但它不起作用。我应该如何设置?我对应该如何设置这种类型的渲染器感到困惑。 protected override void OnElementChanged (ElementChangedEventArgs<PdfView> e)
有必要吗?
我有这样一个页面 class:
public class PdfView : ContentView
{
}
public class PdfPage : ContentPage
{
public PdfPage (ProjectViewModel _viewModel)
{
this.Content = new PdfView ();
}
}
渲染器:
[assembly:ExportRenderer(typeof(PdfView), typeof(PdfViewRenderer))]
namespace iOS
{
public class PdfViewRenderer : ViewRenderer<PdfView, UIScrollView >
{
protected override void OnElementChanged (ElementChangedEventArgs<PdfView> e)
{
base.OnElementChanged(e);
if (e.OldElement != null)
{
return;
}
Add (new UIView (){ BackgroundColor = UIColor.Gray});
}
}
}
而不是调用
Add (new UIView (){ BackgroundColor = UIColor.Gray});
尝试调用 SetNativeControl
SetNativeControl(new UIView (){ BackgroundColor = UIColor.Gray});
这应该将您刚刚创建的本机 iOS 控件绑定到您的自定义 xamarin.forms 视图。
我在 Xamarin 中创建渲染器时遇到问题。
我试图在渲染器中显示另一个视图,但它不起作用。我应该如何设置?我对应该如何设置这种类型的渲染器感到困惑。 protected override void OnElementChanged (ElementChangedEventArgs<PdfView> e)
有必要吗?
我有这样一个页面 class:
public class PdfView : ContentView
{
}
public class PdfPage : ContentPage
{
public PdfPage (ProjectViewModel _viewModel)
{
this.Content = new PdfView ();
}
}
渲染器:
[assembly:ExportRenderer(typeof(PdfView), typeof(PdfViewRenderer))]
namespace iOS
{
public class PdfViewRenderer : ViewRenderer<PdfView, UIScrollView >
{
protected override void OnElementChanged (ElementChangedEventArgs<PdfView> e)
{
base.OnElementChanged(e);
if (e.OldElement != null)
{
return;
}
Add (new UIView (){ BackgroundColor = UIColor.Gray});
}
}
}
而不是调用
Add (new UIView (){ BackgroundColor = UIColor.Gray});
尝试调用 SetNativeControl
SetNativeControl(new UIView (){ BackgroundColor = UIColor.Gray});
这应该将您刚刚创建的本机 iOS 控件绑定到您的自定义 xamarin.forms 视图。