簡體   English   中英

UISwipeGestureRecognizer從特定位置

[英]UISwipeGestureRecognizer from specific location

所以我有一個按鈕,並且TouchUpInside事件已經分配給該按鈕。 當按下按鈕時,它將使菜單從屏幕底部到屏幕的大約一半動畫化。

但是我希望用戶能夠從WITHIN按鈕向上滑動以對菜單進行動畫處理,而從WITHIN按鈕向下滑動以進行動畫處理。

我能夠弄清楚上下滑動手勢,但它們可以在整個視圖中使用。
因此,當用戶在視圖上的任何位置向上滑動時,它都會進行動畫處理。

如何獲取LocationOfTouch並從按鈕內限制滑動的起點?

這就是我現在所擁有的:

我聲明:

UISwipeGestureRecognizer UpSwipe;
UISwipeGestureRecognizer DownSwipe;

然后這就是我使用它們的方式:

    public void setupGestures() {

        this.UpSwipe = new UISwipeGestureRecognizer () {
            Direction = UISwipeGestureRecognizerDirection.Up,
            Enabled = true
        };

        this.DownSwipe = new UISwipeGestureRecognizer () {
            Direction = UISwipeGestureRecognizerDirection.Down,
            Enabled = true
        };

        UpSwipe.AddTarget (animateRecentActivityView);
        DownSwipe.AddTarget (animateAwayRecentActivityView);

        this.View.AddGestureRecognizer (UpSwipe);
        this.View.AddGestureRecognizer (DownSwipe);
    }

如何獲取LocationOfTouch並從按鈕內限制滑動的起點?

在純可可觸摸中,您可以覆蓋UIView的方法

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

參數“ touches”包含一組UITouch

調用UITouch的方法

- (CGPoint)locationInView:(UIView *)view

您可以獲得接觸點的位置

我實際上能夠弄清楚。 我的按鈕在視圖內,即使我向該按鈕添加了滑動手勢,但還是無法正常工作。 將其從視圖中刪除后,將swipeGesture添加到按鈕即可直接正常工作。

        this.UpSwipe = new UISwipeGestureRecognizer () {
            Direction = UISwipeGestureRecognizerDirection.Up,
            Enabled = true
        };

        this.DownSwipe = new UISwipeGestureRecognizer () {
            Direction = UISwipeGestureRecognizerDirection.Down,
            Enabled = true
        };

        UpSwipe.AddTarget (animateRecentActivityView);
        DownSwipe.AddTarget (animateAwayRecentActivityView);

        btnAct_HomeRecentActivity.AddGestureRecognizer (UpSwipe);
        btnAct_HomeRecentActivity.AddGestureRecognizer (DownSwipe);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM