我在我的iPhone应用程序中有一个非常具体的“错误”。我为按钮的突出显示和正常状态设置了两个图像。它按预期的方式工作,当你“按下”,然后以缓慢的速度“接近”时,但如果你点击/快速点击它,状态之间会有明显的闪烁。这是一个已知的错误还是我错误地设置状态?UIButton和UIControlEventState问题
下面是一个创建按钮的代码:
UIImage *normalImage = [[UIImage imageNamed:@"btn-small.png"] stretchableImageWithLeftCapWidth:10.0f topCapHeight:0.0f];
UIImage *highlightedImage = [[UIImage imageNamed:@"btn-small-down.png"] stretchableImageWithLeftCapWidth:10.0f topCapHeight:0.0f];
[self setBackgroundColor:[UIColor clearColor]];
[self setBackgroundImage:normalImage forState:UIControlStateNormal];
[self setBackgroundImage:highlightedImage forState:UIControlStateDisabled];
[self setBackgroundImage:highlightedImage forState:UIControlStateHighlighted];
[self setAdjustsImageWhenDisabled:FALSE];
[self setAdjustsImageWhenHighlighted:FALSE];
当按钮被简单地拍了拍它禁用本身并启用另一个按钮:在这个快速点击闪烁
- (IBAction)aboutButtonTouched:(id)sender
{
aboutButton.enabled = FALSE;
rulesButton.enabled = TRUE;
}
- (IBAction)rulesButtonTouched:(id)sender
{
rulesButton.enabled = FALSE;
aboutButton.enabled = TRUE;
}
有什么想法?
我不知道为什么;但在iOS5测试中,它不是“3”而是“5”。哪个是“UIControlStateSelected | UIControlStateHighlighted” – HansPinckaers 2011-11-17 17:02:31
@HansPinckaers如果他们向位掩码添加了新项目,则值可能已更改。 – typeoneerror 2011-11-17 17:21:02
嗯,我只是子类UIButton并添加了一个方法来设置状态1到5.没有更多的闪烁:) – HansPinckaers 2011-11-19 13:50:02