Ios7 为什么UISweepGestureRecognitor没有响应?

Ios7 为什么UISweepGestureRecognitor没有响应?,ios7,uiview,uiswipegesturerecognizer,Ios7,Uiview,Uiswipegesturerecognizer,我尝试使用UIWipegestureRecognitor在我的UIView中检测垂直方向 我的视图大小为{0,01024,1536},这意味着高度是全屏高度的两倍,也意味着一半视图在屏幕上,一半视图在屏幕外。 我的目的是在检测到uisweegestureerecognizerDirectionDown时将视图的帧下移到{0,-768,10241536},在检测到uisweegestureerecognizerDirectionUp时将视图上移到{0,010241536} 请参考图表 问题 最初视

我尝试使用
UIWipegestureRecognitor
在我的
UIView
中检测垂直方向
我的视图大小为{0,01024,
1536
},这意味着高度是全屏高度的两倍,也意味着一半视图在屏幕上,一半视图在屏幕外。 我的目的是在检测到
uisweegestureerecognizerDirectionDown
时将视图的帧下移到{0,
-768
,10241536},在检测到
uisweegestureerecognizerDirectionUp
时将视图上移到{0,010241536}

请参考图表 问题
最初视图的帧是{0,010241536},当检测到
uisweegestureerecognizerdirectiondown
并将屏幕外部分上移时,我得到了响应。 在那之后,我在屏幕上滑动时没有得到任何回应

我知道如何解决这个问题? 我尝试了很多方法,但都没有解决我的问题。 问题可能是由屏幕外部分引起的

更新 首先,我尝试使用UIScrollView来实现,但失败了。 问题是滚动视图的垂直检测不是很准确,总是误导我 向上/向下移动视图

我希望直接而不是逐渐地改变看法

因此,我放弃了UIScrollView


我的代码

-(void)viewDidLoad {
   // ...
   UISwipeGestureRecognizer * upSwipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(toggleUpSwipe:)];
   [upSwipe setDirection:UISwipeGestureRecognizerDirectionUp];
   [self.view addGestureRecognizer:upSwipe];

   UISwipeGestureRecognizer * downSwipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(toggleDownSwipe:)];
   [downSwipe setDirection:UISwipeGestureRecognizerDirectionDown];
   [self.view addGestureRecognizer:downSwipe];
   //...
}

- (void)toggleUpSwipe:(UISwipeGestureRecognizer*)swipeGesture
{
    //...
}

- (void)toggleDownSwipe:(UISwipeGestureRecognizer*)swipeGesture
{
   //...
}

尝试在viewcontroller上使用UIscrollview,而不是使用手势。 在使用UIscrollview时,您可以为内容大小指定所需的任何大小,也可以实现上下滚动,而无需使用手势识别器。

使用此选项

UISwipeGestureRecognizer *swipeLeft =[[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swipeLeft:)];
swipeLeft.direction =UISwipeGestureRecognizerDirectionRight;
[self.view addGestureRecognizer:swipeLeft];

UISwipeGestureRecognizer *swipeRight =[[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(swipeRight:)];
swipeRight.direction =UISwipeGestureRecognizerDirectionLeft;
[self.view addGestureRecognizer:swipeRight];


还包括.h上的
谢谢。我以前试过,结果是一样的。屏幕部分可以调用我的选择器调用,但屏幕外部分在刷卡时没有响应。
 -(IBAction)swipeLeft:(id)sender
{
            //...
}
-(IBAction)swipeRight:(id)sender
{
       //...
}