看一下这个方法:
[textButton addTarget:self action:@selector(articleModalWillAppear:) forControlEvents:UIControlEventTouchDown];
当按钮被触摸时,它调用articleModalWillAppear:。这很好用。问题是,当拖动按钮时,它也会调用操作。(按钮很大,包含一个文本段落)
我放了六个这样的按钮作为UIScrollView的子视图(使用UIPageControl)。在水平拖动UIScrollView时效果很好。但它会在垂直拖动时弹出模式视图,因为当手指在按钮上拖动时,按钮会将其视为触摸,并且触摸会调用articleModalWillAppear:。
如果你仍然不理解我的问题,想想“纽约时报”的iPad应用。您可以水平拖动页面。您可以触摸文章描述以转到完整的文章视图。但当您在文章描述中垂直拖动时,什么也不会发生。如何做到这一点?
发布于 2011-02-09 21:48:38
使用不同的事件,例如:
[textButton addTarget:self action:@selector(articleModalWillAppear:) forControlEvents:UIControlEventTouchUpInside];在这种情况下,UIControlEventTouchUpInside是最常用的。
发布于 2011-02-09 21:49:21
使用forControlEvents:UIControlEventTouchUpInside
只有当用户在按钮内部触摸,然后在同一按钮中触摸时,才会注册一个单击事件,并忽略拖动。
https://stackoverflow.com/questions/4945619
复制相似问题