IOS:检测UIView上特定位置的滑动手势

时间:2013-07-08 11:48:32

标签: ios uiview uigesturerecognizer uistoryboard

我正在创建一个故事板应用,当用户执行滑动手势时,视图会发生变化。我遇到的问题是,当您将手势识别器从main.storyboard文件拖放到视图上时,可以从UIView内的任何位置识别手势。基本上,我需要识别在屏幕上的特定区域中执行的手势,类似于在IOS 6中向下拖动通知中心的方式。如果这不清楚或者您需要更多详细信息,请随时询问。

提前感谢您的帮助!

5 个答案:

答案 0 :(得分:9)

我不确定这是否会对您有所帮助,或者您尝试过这样的事情,但我想分享我的想法。

您可以在ViewControl.m中尝试使用UISwipeGestureRecognizer,如下所示:

UISwipeGestureRecognizer *swipeGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeToDoMethod)];
[swipeGesture setDirection:UISwipeGestureRecognizerDirectionRight];
[[self innerView] addGestureRecognizer: swipeGesture];

您可以在主视图中添加内部视图,并将此手势添加到该视图中。

希望这对你有所帮助,祝你好运! :)

答案 1 :(得分:1)

UISwipeGestureRecognizer *swipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(SwipeView)];
[swipe setDirection:UISwipeGestureRecognizerDirectionLeft];
[[self innerView] addGestureRecognizer: swipe];

// UISwipeGestureRecognizerDirectionRight(或)向上(或)向下

答案 2 :(得分:0)

使用另一个具有0可见性的UIView,将其放在要识别手势的区域,然后向此UIView添加手势。

这只是一个想法。

希望这会对你有所帮助。

答案 3 :(得分:0)

您可以在视图中添加子视图,将子视图的帧设置为要捕捉滑动手势的区域,为其添加识别器,并将其背景颜色设置为清除颜色。希望它有所帮助。

答案 4 :(得分:0)

添加Swift版本:

//Add gesture recognizer
let swipeGesture = UISwipeGestureRecognizer(target: self, action: #selector(dismissShowMessageAndButtonDueToSwipeUp))
swipeGesture.direction = .up
backgroundView.addGestureRecognizer(swipeGesture)