protected override void DisconnectHandler(UICollectionView nativeView) { collectionView.DataSource = null; dataSource.Dispose(); dataSource = null; collectionView.Delegate = null; cvdelegate.Dispose(); cvdelegate = null; collectionView.Dispose(); collectionView = null; layout.Dispose(); layout = null; base.DisconnectHandler(nativeView); }
protected override void ConnectHandler(UICollectionView nativeView) { base.ConnectHandler(nativeView); PositionalViewSelector = new PositionalViewSelector(VirtualView); dataSource = new CvDataSource(this); dataSource.IsSelectedHandler = (realSection, realIndex) => VirtualView?.IsItemSelected(realSection, realIndex) ?? false; cvdelegate = new CvDelegate(this); //cvdelegate.ScrollHandler = (x, y) => // VirtualView?.RaiseScrolled(new ScrolledEventArgs(x, y)); collectionView.AllowsSelection = VirtualView.SelectionMode != SelectionMode.None; collectionView.AllowsMultipleSelection = VirtualView.SelectionMode == SelectionMode.Multiple; collectionView.DataSource = dataSource; collectionView.ContentInset = new UIEdgeInsets(0, 0, 0, 0); collectionView.Delegate = cvdelegate; collectionView.ReloadData(); }