【问题标题】:UIButton UIControlEventTouchUpOutside Not WorkingUIButton UIControlEventTouchUpOutside 不工作
【发布时间】:2013-08-22 21:05:10
【问题描述】:

我有一个自定义 UIButton。要在突出显示时创建自定义背景颜色,我将按钮(自身)作为三个事件的观察者:

[self addTarget:self action:@selector(didTapButtonForHighlight) forControlEvents:UIControlEventTouchDown];
[self addTarget:self action:@selector(didUnTapButtonForHighlight) forControlEvents:UIControlEventTouchUpInside];
[self addTarget:self action:@selector(didUnTapButtonForHighlight) forControlEvents:UIControlEventTouchUpOutside];

前两个效果很好,只要我在按钮内部进行触摸,背景就会恢复正常。但是,如果我在按钮外部进行触摸,则方法 didUnTapButtonForHighlight 永远不会被调用,并且背景仍然是突出显示的颜色。我的代码是 Ondrej 对this question 的回答中代码的修改版本。为什么它不起作用?提前致谢。

【问题讨论】:

    标签: ios objective-c uibutton


    【解决方案1】:

    你还应该测试UIControlEventTouchCancel,以防你在外面接触。

    【讨论】:

    • 外面有多远?他们为什么不在外面做呢?不过感谢您的帮助。现在效果很好。我会在允许的时候接受你的回答。
    • 我认为距离没有记录在任何地方。按钮周围大概有 60-70 像素。它只允许用户在按下按钮后取消按下按钮。假设在该范围之外的触摸仍会触发按钮。
    • 刚刚偶然发现了同样的问题。 “距离”似乎与按钮所在的视图框架有关。如果拖动超出了超级视图的范围,则将触发 UIControlEventTouchCancel。 (iOS 7.1)
    猜你喜欢
    • 1970-01-01
    • 2012-08-07
    • 1970-01-01
    • 1970-01-01
    • 2011-12-20
    • 1970-01-01
    • 2021-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多