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