触摸后UIButton保持选中状态

时间:2013-02-23 04:38:08

标签: iphone ios objective-c uibutton

我希望在触摸后让UIButton保持在选定状态。我添加了代码以在TouchUpInside事件期间设置所选状态;然而,在快速敲击后,状态之间会有轻微的“眨眼”。我有一些策略可以使用UImageView并添加UITapGestureRecognize来执行此操作,但必须有一种更简单的方法。

5 个答案:

答案 0 :(得分:4)

闪光的原因是Touch Up Inside为时已晚;根据定义,用户的手指已经启动。也许您应该考虑为Touch Down Inside实施一个动作事件(或者另外)。

另一种可能性是使用UISegmentedControl,其中一个段和momentary设置为NO。

答案 1 :(得分:2)

这只是我的头脑。

UIBUtton有四种状态 - Normal,Highlighted,Selected,Disabled 我认为你注意到的'眨眼'是由于突出显示的状态。点击时按钮可能会突然显示突出显示状态,使其“闪烁”

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

答案 2 :(得分:1)

试试这个,

[button sendActionsForControlEvents:UIControlEventTouchUpInside];
[button setSelected:YES];

答案 3 :(得分:1)

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

希望这有帮助。

答案 4 :(得分:0)

感谢您的回答。我没有处理UIButton,而是使用UIImageView并根据点击手势在动画块中设置突出显示的状态。它使得完成按下状态变得更容易,而不是试图考虑UIButton手势处理。