2013-07-08 86 views
3

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

在此先感谢您的帮助!

回答

9

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

您可以尝试UISwipeGestureRecognizer在ViewControl.m象下面这样:

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

您可以添加的内部视图到主视图,这种姿态加入到了这一观点。

希望这可以帮助你,祝你好运! :)

+0

谢谢您的回答!这似乎是一个好主意,但是这个代码中的内容是内部视图集的位置?另外,如何在执行滑动操作后让我的主视图切换使用故事板。感谢您的进一步帮助 – s0mbieZ

+0

我提到内部视图作为您的特定区域。所以你需要在你的主视图中添加一个新的UIView。我可以理解你的第二个问题。如果你的意思是你想在内部视图中轻扫手势后切换主视图,我可以提出两件事。一个是你的内在观点是你的观点的一部分,所以你不需要切换任何观点。或者,如果您将此应用于其他视图,则应该在上面的代码中编写一个我称为“swipeToDoMethod”的方法。您应该通过使用 [someView setHidden:YES]来设置视图的可见性; [anotherView setHidden:NO]; 我希望这些都是明确的答案;) –

+0

谢谢!这非常有帮助! – s0mbieZ

0

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

这只是一个想法。

希望这会帮助你。

0

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

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

// UISwipeGestureRecognizerDirectionRight(或)向上(或)跌