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