3

我想UIButton在触摸它后停留在 Selected 状态。我添加了代码以在TouchUpInside事件期间设置选定状态;但是,在快速点击后,状态之间会出现轻微的“闪烁”。我有一些使用 anUImageView和添加 a 的策略UITapGestureRecognize,但必须有一种更简单的方法。

4

5 回答 5

4

闪的原因是 Touch Up Inside 来不及了;根据定义,用户的手指已经向上。也许您应该考虑改为(或另外)为 Touch Down Inside 实现一个动作事件。

另一种可能性可能是将 UISegmentedControl 与一个段一起使用并momentary设置为 NO。

于 2013-02-23T04:51:20.200 回答
2

这只是我的想法

UIBUtton 有四种状态——正常、突出显示、选定、禁用我认为您注意到的“闪烁”是由于突出显示状态。当点击按钮使其“闪烁”时,该按钮可能会进入突出显示状态

尝试将突出显示的状态属性设置为与选定状态相同。

于 2013-02-23T05:10:03.083 回答
1

尝试这个,

[button sendActionsForControlEvents:UIControlEventTouchUpInside];
[button setSelected:YES];
于 2013-02-23T04:57:41.190 回答
1

创建一个类似于 UIView 的按钮。只需将按钮添加为 UIView 的子视图,并将按钮的标题(UILabel)添加为同一 UIView 的子视图。按下按钮时,更改 UIView 和 UILabel 的属性,使其看起来像按下按钮,以便视图可以保持按下状态,直到您再次更改这些属性。

希望这可以帮助。

于 2013-02-23T07:30:20.077 回答
0

感谢您的精彩回答。我最终没有处理 UIButton,而是使用了 UIImageView 并基于点击手势在动画块中设置了突出显示的状态。它使完成按下状态变得更加容易,而不是试图解释 UIButton 手势处理。

于 2013-02-24T17:39:49.460 回答