예제 #1
0
        public override void OnInitializeTextField()
        {
            base.OnInitializeTextField();
            ResultView       = new UIStackView();
            ResultView.Axis  = UILayoutConstraintAxis.Vertical;
            ResultView.Frame = this.Bounds;

            CollectionResult   = new UICollectionView(this.Bounds, new CollectionViewLeftFlowLayout());
            HeightOfCollection = NSLayoutConstraint.Create(CollectionResult, NSLayoutAttribute.Height, NSLayoutRelation.Equal, 1, 0);
            CollectionResult.AddConstraint(HeightOfCollection);

            ResultView.AddArrangedSubview(textField);
            ResultView.AddArrangedSubview(CollectionResult);

            CollectionResult.RegisterClassForCell(typeof(CollectionItemMultiCell), CellId);
            CollectionResultSource  = new CollectionResultSource(ResultItems);
            CollectionResult.Source = CollectionResultSource;

            CollectionMultiDelegate   = new CollectionMultiDelegate(ResultItems, CollectionResult.Frame.Width);
            CollectionResult.Delegate = CollectionMultiDelegate;

            CollectionViewLeftFlowLayout = new CollectionViewLeftFlowLayout();
            CollectionViewLeftFlowLayout.MinimumLineSpacing = 5f;
            CollectionResult.CollectionViewLayout           = CollectionViewLeftFlowLayout;

            uITapGestureRecognizer = new UITapGestureRecognizer(() =>
            {
                GestureAction(uITapGestureRecognizer);
            });
            uITapGestureRecognizer.NumberOfTapsRequired = 1;
            CollectionResult.UserInteractionEnabled     = true;
            CollectionResult.AddGestureRecognizer(uITapGestureRecognizer);
            CollectionResult.ReloadData();
        }
        public CalendarCollectionViewZoomHelper(UICollectionView collectionView, CalendarCollectionViewLayout layout)
        {
            Ensure.Argument.IsNotNull(collectionView, nameof(collectionView));
            Ensure.Argument.IsNotNull(layout, nameof(layout));
            this.layout = layout;

            pinchGestureRecognizer          = new UIPinchGestureRecognizer(onPinchUpdated);
            pinchGestureRecognizer.Delegate = this;
            collectionView.AddGestureRecognizer(pinchGestureRecognizer);
        }
        public CalendarCollectionViewEditItemHelper(
            UICollectionView CollectionView,
            CalendarCollectionViewSource dataSource,
            CalendarCollectionViewLayout Layout) : base(CollectionView, Layout)
        {
            Ensure.Argument.IsNotNull(dataSource, nameof(dataSource));

            this.dataSource = dataSource;

            longPressGestureRecognizer          = new UILongPressGestureRecognizer(onLongPress);
            longPressGestureRecognizer.Delegate = this;
            CollectionView.AddGestureRecognizer(longPressGestureRecognizer);

            panGestureRecognizer          = new UIPanGestureRecognizer(onPan);
            panGestureRecognizer.Delegate = this;

            tapGestureRecognizer          = new UITapGestureRecognizer(onTap);
            tapGestureRecognizer.Delegate = this;
        }
예제 #4
0
        public CalendarCollectionViewEditItemHelper(
            UICollectionView CollectionView,
            ITimeService timeService,
            CalendarCollectionViewSource dataSource,
            CalendarCollectionViewLayout Layout) : base(CollectionView, Layout)
        {
            Ensure.Argument.IsNotNull(timeService, nameof(timeService));
            Ensure.Argument.IsNotNull(dataSource, nameof(dataSource));

            this.timeService = timeService;
            this.dataSource  = dataSource;

            longPressGestureRecognizer          = new UILongPressGestureRecognizer(onLongPress);
            longPressGestureRecognizer.Delegate = this;
            CollectionView.AddGestureRecognizer(longPressGestureRecognizer);

            panGestureRecognizer          = new UIPanGestureRecognizer(onPan);
            panGestureRecognizer.Delegate = this;

            tapGestureRecognizer          = new UITapGestureRecognizer(onTap);
            tapGestureRecognizer.Delegate = this;

            scalingEndedSubscription = Layout.ScalingEnded.Subscribe(onLayoutScalingEnded);
        }
 public APLTransitionController(UICollectionView view, UINavigationController controller)
 {
     collectionView = view;
     collectionView.AddGestureRecognizer(new UIPinchGestureRecognizer(HandlePinch));
     navigationController = controller;
 }
예제 #6
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            //Calculate Cell Size for screen resolution
            CGSize CellSize = GetSize();

            /*
             * Initialize the collectionview layout
             */
            UICollectionViewFlowLayout layout = new UICollectionViewFlowLayout
            {
                SectionInset            = new UIEdgeInsets(20, 20, 20, 20),
                MinimumInteritemSpacing = 1,
                MinimumLineSpacing      = 10,
                ItemSize = CellSize                 //new SizeF(110, 110)
            };

            /*
             * Initialize the CollectionViewSource and UICollectionView
             */
            CollectionViewSource = new CollectionViewImageStackSource();
            CollectionViewSource.ImageViewSize = new SizeF((float)CellSize.Width, (float)CellSize.Height);

            CollectionView = new UICollectionView(UIScreen.MainScreen.Bounds, layout);
            CollectionView.BackgroundColor = AppColors.LIGHT_TEAL;
            var longPressGesture = new UILongPressGestureRecognizer(gesture =>
            {
                // Take action based on state
                switch (gesture.State)
                {
                case UIGestureRecognizerState.Began:
                    var selectedIndexPath = CollectionView.IndexPathForItemAtPoint(gesture.LocationInView(View));
                    if (selectedIndexPath != null)
                    {
                        CollectionView.BeginInteractiveMovementForItem(selectedIndexPath);
                    }
                    break;

                case UIGestureRecognizerState.Changed:
                    CollectionView.UpdateInteractiveMovement(gesture.LocationInView(View));
                    break;

                case UIGestureRecognizerState.Ended:
                    CollectionView.EndInteractiveMovement();
                    break;

                default:
                    CollectionView.CancelInteractiveMovement();
                    break;
                }
            });

            // Add the custom recognizer to the collection view
            CollectionView.AddGestureRecognizer(longPressGesture);

            CollectionView.ShowsHorizontalScrollIndicator = true;


            CollectionView.RegisterClassForCell(typeof(UserCell2), UserCell2.CellID);
            CollectionView.ShowsHorizontalScrollIndicator = true;
            CollectionView.Source = CollectionViewSource;
        }
		public APLTransitionController (UICollectionView view, UINavigationController controller)
		{
			collectionView = view;
			collectionView.AddGestureRecognizer (new UIPinchGestureRecognizer (HandlePinch));
			navigationController = controller;
		}