我在视图控制器中创建了五个按钮。如果我点击按钮,它会进入相应的视图。现在我想在单击时以突出显示的状态显示按钮。只有当我点击另一个按钮时,它才会回到正常状态。当我点击它时,我已经设置了另一个用于高位按钮的图像,但它显示突出显示状态仅一秒。现在我想显示突出显示的按钮,直到单击另一个按钮。与Tabbar操作相同。(我已经使用按钮而不是tabbar来满足要求)。
现在我使用了以下代码,
void didLoad
{
[btn1 setImage:[UIImage imageNamed:@"ContentColor.png"] forState:UIControlStateHighlighted];
[btn2 setImage:[UIImage imageNamed:@"bColor.png"] forState:UIControlStateHighlighted];
[btn3 setImage:[UIImage imageNamed:@"ShColor.png"] forState:UIControlStateHighlighted];
[btn4 setImage:[UIImage imageNamed:@"PicturesColor.png"] forState:UIControlStateHighlighted];
[btn5 setImage:[UIImage imageNamed:@"infoColor.png"] forState:UIControlStateHighlighted];
}
请帮帮我。
感谢。
答案 0 :(得分:2)
您应该将图像处理为选定状态,而不是处于突出显示状态。正如您所见,突出显示将在触摸或外部触摸时取消设置,而选中则是持久的。
答案 1 :(得分:1)
简单的解决方案是......
每次点击任何按钮都会将其图像(正常状态)更改为该特定按钮的高亮显示图像,并将其他4个按钮的图像设置为正常图像...
答案 2 :(得分:1)
听起来你应该使用带有5个段而不是5个按钮的UISegmentedControl。它已经以这种方式运行,一个段保持突出显示,直到您选择另一个(除非您设置瞬时属性)。