首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使UIButton仅对触摸做出响应,而不是对拖动作出响应

问如何使UIButton仅对触摸做出响应,而不是对拖动作出响应
EN

Stack Overflow用户
提问于 2011-02-09 21:40:39
回答 2查看 766关注 0票数 0

看一下这个方法:

[textButton addTarget:self action:@selector(articleModalWillAppear:) forControlEvents:UIControlEventTouchDown];

当按钮被触摸时,它调用articleModalWillAppear:。这很好用。问题是,当拖动按钮时,它也会调用操作。(按钮很大,包含一个文本段落)

我放了六个这样的按钮作为UIScrollView的子视图(使用UIPageControl)。在水平拖动UIScrollView时效果很好。但它会在垂直拖动时弹出模式视图,因为当手指在按钮上拖动时,按钮会将其视为触摸,并且触摸会调用articleModalWillAppear:。

如果你仍然不理解我的问题,想想“纽约时报”的iPad应用。您可以水平拖动页面。您可以触摸文章描述以转到完整的文章视图。但当您在文章描述中垂直拖动时,什么也不会发生。如何做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-09 21:48:38

使用不同的事件,例如:

代码语言:javascript
复制
[textButton addTarget:self action:@selector(articleModalWillAppear:) forControlEvents:UIControlEventTouchUpInside];

在这种情况下,UIControlEventTouchUpInside是最常用的。

票数 1
EN

Stack Overflow用户

发布于 2011-02-09 21:49:21

使用forControlEvents:UIControlEventTouchUpInside

只有当用户在按钮内部触摸,然后在同一按钮中触摸时,才会注册一个单击事件,并忽略拖动。

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

https://stackoverflow.com/questions/4945619

复制
相关文章

相似问题

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