首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试仅检测向右滑动

尝试仅检测向右滑动
EN

Stack Overflow用户
提问于 2012-07-21 11:31:52
回答 1查看 539关注 0票数 0

我只想用UISwipeGestureRecognizer来检测右击。尽管我已经将它设置为“正确”,但它仍然在两个方向注册滑动。我已经在网上搜索并阅读了苹果提供的所有开发页面。我看不到成功做到这一点的方法。

根据要求:

.h:

代码语言:javascript
复制
IBOutlet UISwipeGestureRecognizer *decade1;
@property (nonatomic, retain) UISwipeGestureRecognizer *decade1;

.m:

代码语言:javascript
复制
@synthesize decade1;

- (void)scrollViewDidScroll:(UIScrollView *)sender 
{
    if((page == 4) && (decade1))
{

        printf("HELLO!!");
    }
}
EN

回答 1

Stack Overflow用户

发布于 2012-07-21 12:07:49

像这样创建手势识别器,并将其添加到您想要的视图中:

代码语言:javascript
复制
UISwipeGestureRecognizer *rightSwipeGestureRecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(rightSwipe:)];
[rightSwipeGestureRecognizer setDirection:UISwipeGestureRecognizerDirectionRight];
[self.view addGestureRecognizer:rightSwipeGestureRecognizer];

定义一个处理卷帘的方法:

代码语言:javascript
复制
-(void)rightSwipe:(UISwipeGestureRecognizer*)recognizer {

    NSLog(@"Right swipe");

}

如果仍然不起作用,请尝试不将识别器添加到视图中,并查看是否有其他处于活动状态的识别器。

编辑(在看到代码后):

您在scrollViewDidScroll方法中有自己的逻辑,这就是为什么它可以对任何类型的卷帘(实际上是滚动)做出反应。我怀疑你的手势识别器是否能在这种设置中工作。

手势识别器需要添加到视图,然后您需要连接一个方法,该方法将在识别手势时运行。请记住,如果您将手势识别器的方向设置为right,则该方法应仅在右键滑动后调用。我会再次复习这门课,以充分理解它是如何工作的。UIGestureRecognizer Class Reference

由于您使用的是UIScrollView,因此识别滑动会有点棘手,因为它有自己的识别器。看一看How to recognize swipe gesture in UIScrollView

我还建议保持简单,并以编程方式添加选择器(很可能您甚至不需要为它声明实例变量,因为对象将返回给识别器上的@ UISwipeGestureRecognizer函数。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11589221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档