【问题标题】:UIButton does not remove target for UIControlEventtouchDragInsideUIButton 不会删除 UIControlEventtouchDragInside 的目标
【发布时间】:2013-04-14 08:54:00
【问题描述】:

在从 UIButton 中删除目标时遇到一些问题。基本上我有一个日历,并且希望能够移动一个代表保存在日历中的事件的按钮。我开始:

[self.chosenButton addTarget:self action:@selector(dragMoving:withEvent:) forControlEvents:UIControlEventTouchDragInside];

然后在移动完成后我调用

[self.chosenButton removeTarget:nil action:NULL forControlEvents:UIControlEventTouchDragInside];

然而,在那之后,我仍然可以移动按钮,即使它应该保持静止。在 dragMoving:withEvent: 函数中,我只根据触摸点分配按钮的坐标并检查其有效性(如果它在屏幕内等)

知道为什么仍然调用 dragMoving:WithEvent 吗?

谢谢

【问题讨论】:

    标签: objective-c uibutton target


    【解决方案1】:

    那是因为你实际上并没有删除目标,试试:

    [self.chosenButton removeTarget:self  action:@selector(dragMoving:withEvent:) forControlEvents:UIControlEventTouchDragInside];
    

    【讨论】:

    • 试过了,也没用。在这里的帖子上,人们建议我现在尝试的方式是正确的方式,即使在 Apple 文档中也是如此,但不幸的是它不起作用
    • 即使这样也行不通? [self.chosenButton removeTarget:nil action:NULL forControlEvents:UIControlEventAllEvents];
    • 那个也试过了,但连那个都没试过。
    • 也许可以分享您创建按钮的代码,因为这必须有效。
    • 我做的那个类有1500多行,而且按钮是全部创建和编辑的,所以实际上不可能全部放在这里。我正在检查创建按钮的所有位,但它似乎应该按原样工作。
    猜你喜欢
    • 2011-03-21
    • 1970-01-01
    • 1970-01-01
    • 2011-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多