コード例 #1
0
 public override void SetEditing(bool editing, bool animated)
 {
     base.SetEditing(editing, animated);
     if (CollectionViewExtended.IsEditing == editing)
     {
         return;
     }
     if (CollectionView?.GetIndexPathsForSelectedItems() != null)
     {
         foreach (var indexPath in CollectionView.GetIndexPathsForSelectedItems())
         {
             CollectionView.DeselectItem(indexPath, animated);
         }
     }
     CollectionViewExtended.SetEditing(editing, animated);
     UIView.Animate(0.2f, () =>
     {
         toolbarBottomConstraint.Constant = editing ? 0 : toolbar.Bounds.Bottom;
         CollectionView.ContentInset      = new UIEdgeInsets(CollectionView.ContentInset.Top,
                                                             CollectionView.ContentInset.Left, editing ? toolbar.Bounds.Height : 0.0f,
                                                             CollectionView.ContentInset.Right);
         CollectionView.ScrollIndicatorInsets = CollectionView.ContentInset;
         CollectionView.LayoutIfNeeded();
     });
 }
コード例 #2
0
 public override void ItemSelected(UICollectionView collectionView, MonoTouch.Foundation.NSIndexPath indexPath)
 {
     if (AddItem != null)
     {
         AddItem(Items[indexPath.Section][indexPath.Row]);
     }
     CollectionView.DeselectItem(indexPath, true);
 }
コード例 #3
0
        // Called by Forms to clear the native selection
        internal void ClearSelection()
        {
            var selectedItemIndexes = CollectionView.GetIndexPathsForSelectedItems();

            foreach (var index in selectedItemIndexes)
            {
                CollectionView.DeselectItem(index, true);
            }
        }
コード例 #4
0
        internal void ClearSelection()
        {
            var paths = CollectionView.GetIndexPathsForSelectedItems();

            foreach (var path in paths)
            {
                CollectionView.DeselectItem(path, false);
            }
        }
コード例 #5
0
        public void ItemSelected(UICollectionView collectionView, NSIndexPath indexPath)
        {
            CollectionView.DeselectItem(indexPath, true);
            LandingItem item   = Items [(int)indexPath.Section][(int)indexPath.Item];
            Action      action = item.Action;

            if (action != null)
            {
                action();
            }
        }
コード例 #6
0
        private void DeselectAllItems()
        {
            foreach (var item in ViewModel.Items)
            {
                item.IsSelected = false;
            }

            foreach (var item in CollectionView.GetIndexPathsForSelectedItems())
            {
                CollectionView.DeselectItem(item, true);
            }
        }
コード例 #7
0
        /// <summary>
        /// Programatically deselect all selected assets.
        /// </summary>
        /// <param name="animated">If set to <c>true</c> animated.</param>
        public void DeselectAllAssets(bool animated)
        {
            var items = CollectionView.GetIndexPathsForSelectedItems();

            if (items == null)
            {
                return;
            }

            foreach (var selectedPath in items)
            {
                CollectionView.DeselectItem(selectedPath, animated);
            }
        }
コード例 #8
0
        public override void ViewDidAppear(bool animated)
        {
            base.ViewDidAppear(animated);

            var selectedItems = CollectionView.GetIndexPathsForSelectedItems();

            if (selectedItems.Length == 0)
            {
                return;
            }

            UIView.Animate(0.3f, 0.0f, UIViewAnimationOptions.CurveLinear, () => {
                CollectionView.DeselectItem(selectedItems [0], true);
            }, null);
        }
コード例 #9
0
        void SynchronizeNativeSelectionWithSelectedItems()
        {
            var selectedItems      = ItemsView.SelectedItems;
            var selectedIndexPaths = CollectionView.GetIndexPathsForSelectedItems();

            foreach (var path in selectedIndexPaths)
            {
                var itemAtPath = GetItemAtIndex(path);
                if (ShouldNotBeSelected(itemAtPath, selectedItems))
                {
                    CollectionView.DeselectItem(path, true);
                }
            }

            foreach (var item in selectedItems)
            {
                SelectItem(item);
            }
        }
コード例 #10
0
        public override void ViewDidAppear(bool animated)
        {
            base.ViewDidAppear(animated);

            var selectedItems = CollectionView.GetIndexPathsForSelectedItems();

            if (selectedItems.Length > 0)
            {
                UIView.Animate(0.3, 0, UIViewAnimationOptions.CurveLinear,
                               () => CollectionView.DeselectItem(selectedItems [0], true)
                               , null);
            }

            if (detailViewController == null)
            {
                return;
            }

            UserActivity         = null;
            detailViewController = null;
        }
コード例 #11
0
        /// <summary>
        /// Programatically deselect asset.
        /// </summary>
        /// <param name="index">Index.</param>
        /// <param name="animated">If set to <c>true</c> animated.</param>
        public void DeselectAsset(int index, bool animated)
        {
            var path = NSIndexPath.FromItemSection(index, LayoutConfiguration.SectionIndexForAssets);

            CollectionView.DeselectItem(path, animated);
        }