0

我有一个 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];

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

4

2 回答 2

1

几天前我自己遇到了这个问题这是我发现的解决方法把这个扔进你的按钮被触摸方法/ibaction

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

然后有一个高亮按钮方法

-(void)highlightButton:(UIButton *)sender
{
   sender.highlighted = YES;
}
于 2013-06-24T17:22:06.680 回答
0

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

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

尝试这个。这对我来说可以。如果这个不起作用,那么试试这个。

[self.addButton setImage:buttonHighlightedImage forState:(UIControlStateSelected | UIControlStateHighlighted)];
于 2013-06-24T17:08:38.807 回答