如何处置使用Platform.CreateRenderer()创建的视图

时间:2016-12-22 10:56:17

标签: android ios xamarin xamarin.forms dispose

我正在寻找处理由Platform.CreateRenderer(...)创建的UIView(iOS)或ViewGroup(Android)的正确方法。

简而言之,我使用它作为ListView的扩展,并希望提供一个Xamarin.Forms.View,我在列表刷新时使用它。

public class MyListView : ListView
{
    //refresh view which will be shown while refreshing the list
    public View RefreshContent { get; set; }
}

在iOS中,我目前正在MyListViewRenderer中执行此操作:

this.renderer = Platform.CreateRenderer(this.Element.RefreshContent);
Platform.SetRenderer(this.Element.RefreshContent, this.renderer);

this.AddSubview(this.renderer.NativeView);

处理我试试这个:

this.renderer?.NativeView?.RemoveFromSuperview();
this.renderer?.NativeView?.Dispose();
this.renderer?.Dispose();
this.renderer = null;

是否会处理任何内容,包括进一步的子视图等? Android怎么样?

0 个答案:

没有答案