protected override void Dispose(bool disposing) { if (_disposed) { return; } if (disposing) { if (_shellSection != null) { ((IShellSectionController)_shellSection).RemoveContentInsetObserver(this); _shellSection = null; } Element.PropertyChanged -= OnHandlePropertyChanged; Platform.SetRenderer(Element, null); if (_appeared) { Page.SendDisappearing(); } _appeared = false; if (_events != null) { _events.Dispose(); _events = null; } if (_packager != null) { _packager.Dispose(); _packager = null; } if (_tracker != null) { _tracker.Dispose(); _tracker = null; } Element = null; Container?.Dispose(); _pageContainer = null; } _disposed = true; base.Dispose(disposing); }
public override void LoadView() { //by default use the MainScreen Bounds so Effects can access the Container size if (_pageContainer == null) { _pageContainer = new PageContainer(this) { Frame = UIScreen.MainScreen.Bounds } } ; View = _pageContainer; }
public override void LoadView() { //by default use the MainScreen Bounds so Effects can access the Container size if (_pageContainer == null) { var bounds = UIApplication.SharedApplication?.GetKeyWindow()?.Bounds ?? UIScreen.MainScreen.Bounds; _pageContainer = new PageContainer(this) { Frame = bounds }; } View = _pageContainer; }
protected override void Dispose(bool disposing) { if (disposing && !_disposed) { Element.PropertyChanged -= OnHandlePropertyChanged; Platform.SetRenderer(Element, null); if (_appeared) { Page.SendDisappearing(); } _appeared = false; if (_events != null) { _events.Dispose(); _events = null; } if (_packager != null) { _packager.Dispose(); _packager = null; } if (_tracker != null) { _tracker.Dispose(); _tracker = null; } Element = null; Container?.Dispose(); _pageContainer = null; _disposed = true; } base.Dispose(disposing); }
void InsertPage(ContentPage page, int index) { IVisualElementRenderer renderer = Platform.GetRenderer(page); if (renderer == null) { renderer = Platform.CreateRenderer(page); Platform.SetRenderer(page, renderer); } UIView container = new PageContainer(page); container.AddSubview(renderer.NativeView); _containerMap[page] = container; AddChildViewController(renderer.ViewController); _scrollView.InsertSubview(container, index); if ((index == 0 && SelectedIndex == 0) || (index < SelectedIndex)) { ScrollToPage(SelectedIndex + 1, false); } }
public override void LoadView() { View = new PageContainer(this); }