iphone - UIButton TouchUpInside/TouchUpOutside 并不总是被调用?

标签 iphone ios uibutton uiswipegesturerecognizer touch-up-inside

我有一个 UISwipeGestureRecognizer,它根据手势时突出显示的 UIButton 进行动画处理,它在 UIButton 时完成动画调用 TouchUpInside/TouchUpOutside。这适用于我的 UIButton 上的向下滑动手势,但出于某种原因,当我尝试向上滑动时(在另一个 UISwipeGestureRecognizer 上),它不会运行该功能。 (是的,它是相同的 UIButton)这是我在 viewDidLoad 中所做的:

    [myButton addTarget:self action:@selector(myAction) forControlEvents:(UIControlEventTouchUpInside|UIControlEventTouchUpOutside)];

对于我刚刚使用的 Action :

    -(void) myAction{
    //Do whatever I want to do, in this case finish the animation.
    }

我为滑动手势运行的代码甚至都不应该影响 UIButton,所以我想知道是否有人知道我在这里可能做错了什么?

编辑:似乎问题是当我向上拖动太快时按钮失去“焦点”(突出显示),因此没有调用 TouchUpInside/TouchUpOutside,但是当我以任何速度向下拖动时 UIButton 始终保持突出显示,无论如何要解决这个问题? (见动图) Watch the highlight end before the mouse leaves the button, then when I do it again, but slower it works fine...

最佳答案

从我们下面的讨论中,我了解到您已在 Storyboard 中声明了 UIGestureRecognizers,但还在代码中不必要地添加了它们。尝试取消它们,查看 UIButton 触摸是否按预期工作,然后决定策略 - 在 Storyboard中或全部在代码中创建和分配它们。

关于iphone - UIButton TouchUpInside/TouchUpOutside 并不总是被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16510471/

相关文章:

ios - Obj-C ARC模式下的dealloc方法是否需要手动释放block变量?

objective-c - 退出应用程序并重新加载时保存 UIButton 的状态

objective-c - 将选择器添加到 NIB 文件中的多个分段控件

iphone - 向 UIButton 添加导出

iphone - Xcode iPhone 加速计图像

objective-c - 调用 UIView 的 removeFromSuperview 是否足够,或者是否需要删除 UIViewController?

ios - 参数标签 '(_: RSKImageCropMode:)' 不匹配任何可用的重载

ios - 如何调整标签栏角标(Badge)位置?

iphone - 将 NSMutableDictionary 保存到 plist 问题

ios - iOS 版本的 Twitter 个人资料屏幕是如何构建的?