我正在创建一个故事板应用程序,用户在执行轻扫手势时更改了视图。我遇到的问题是,当您将手势识别器拖放到main.storyboard
文件的视图上时,可以从UIView中的任何位置识别手势。基本上,我需要识别在屏幕上的特定区域执行的手势,类似于在IOS 6中拖动通知中心的方式。如果这不清楚或者您需要更多详细信息,请随时询问。IOS:检测UIView上特定位置的轻扫手势
在此先感谢您的帮助!
我正在创建一个故事板应用程序,用户在执行轻扫手势时更改了视图。我遇到的问题是,当您将手势识别器拖放到main.storyboard
文件的视图上时,可以从UIView中的任何位置识别手势。基本上,我需要识别在屏幕上的特定区域执行的手势,类似于在IOS 6中拖动通知中心的方式。如果这不清楚或者您需要更多详细信息,请随时询问。IOS:检测UIView上特定位置的轻扫手势
在此先感谢您的帮助!
我不确定这是否会帮助你,或者你尝试过这样的事情,但我想分享我的想法。
您可以尝试UISwipeGestureRecognizer在ViewControl.m象下面这样:
UISwipeGestureRecognizer *swipeGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeToDoMethod)];
[swipeGesture setDirection:UISwipeGestureRecognizerDirectionRight];
[[self innerView] addGestureRecognizer: swipeGesture];
您可以添加的内部视图到主视图,这种姿态加入到了这一观点。
希望这可以帮助你,祝你好运! :)
使用具有0可见性的另一个UIView,将其放置在要识别手势的区域,然后将手势添加到此UIView。
这只是一个想法。
希望这会帮助你。
您可以在您的视图中添加子视图,将子视图的框架设置为您想要捕捉轻扫手势的区域,向其中添加识别器,并将其背景颜色设置为清除颜色。希望它有帮助。
UISwipeGestureRecognizer *swipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(SwipeView)];
[swipe setDirection:UISwipeGestureRecognizerDirectionLeft];
[[self innerView] addGestureRecognizer: swipe];
// UISwipeGestureRecognizerDirectionRight(或)向上(或)跌
谢谢您的回答!这似乎是一个好主意,但是这个代码中的内容是内部视图集的位置?另外,如何在执行滑动操作后让我的主视图切换使用故事板。感谢您的进一步帮助 – s0mbieZ
我提到内部视图作为您的特定区域。所以你需要在你的主视图中添加一个新的UIView。我可以理解你的第二个问题。如果你的意思是你想在内部视图中轻扫手势后切换主视图,我可以提出两件事。一个是你的内在观点是你的观点的一部分,所以你不需要切换任何观点。或者,如果您将此应用于其他视图,则应该在上面的代码中编写一个我称为“swipeToDoMethod”的方法。您应该通过使用 [someView setHidden:YES]来设置视图的可见性; [anotherView setHidden:NO]; 我希望这些都是明确的答案;) –
谢谢!这非常有帮助! – s0mbieZ