UIButton在一秒钟后退出突出显示模式

时间:2013-06-24 17:02:15

标签: ios objective-c uibutton

我有一个UIButton,使用此代码根据突出显示的状态设置图像:

UIImage *buttonImage = imageForButton(CGSizeMake(SquarePanelSize.width, SquarePanelSize.height), NO);
UIImage *buttonHighlightedImage = imageForButton(CGSizeMake(SquarePanelSize.width, SquarePanelSize.height), YES);
[self.addButton setImage:buttonImage forState:UIControlStateNormal];
[self.addButton setImage:buttonHighlightedImage forState:UIControlStateHighlighted];

问题在于,当用户将手指放在手指上时,我希望它保持突出显示,但一秒后它会恢复正常。

2 个答案:

答案 0 :(得分:1)

几天前我自己有这个问题这是我发现的解决方法在你的按钮中抛出这个触摸方法/ ibaction

  [self performSelector:@selector(highlightButton:) withObject:sender afterDelay:0.0];

然后有一个突出显示按钮方法

-(void)highlightButton:(UIButton *)sender
{
   sender.highlighted = YES;
}

答案 1 :(得分:0)

我认为你应该使用setBackgroundImage方法。

 [self.addButton setBackgroundImage:buttonHighlightedImage forState:UIControlStateHighlighted];

试试这个。这对我来说可以。如果这个没有用,那就试试吧。

[self.addButton setImage:buttonHighlightedImage forState:(UIControlStateSelected | UIControlStateHighlighted)];