如何在iphone中更改下一个视图之前突出显示该按钮?

时间:2010-04-19 10:34:36

标签: iphone uibutton uicontrol

我在视图控制器中创建了五个按钮。如果我点击按钮,它会进入相应的视图。现在我想在单击时以突出显示的状态显示按钮。只有当我点击另一个按钮时,它才会回到正常状态。当我点击它时,我已经设置了另一个用于高位按钮的图像,但它显示突出显示状态仅一秒。现在我想显示突出显示的按钮,直到单击另一个按钮。与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];
}

请帮帮我。

感谢。

3 个答案:

答案 0 :(得分:2)

您应该将图像处理为选定状态,而不是处于突出显示状态。正如您所见,突出显示将在触摸或外部触摸时取消设置,而选中则是持久的。

答案 1 :(得分:1)

简单的解决方案是......

每次点击任何按钮都会将其图像(正常状态)更改为该特定按钮的高亮显示图像,并将其他4个按钮的图像设置为正常图像...

答案 2 :(得分:1)

听起来你应该使用带有5个段而不是5个按钮的UISegmentedControl。它已经以这种方式运行,一个段保持突出显示,直到您选择另一个(除非您设置瞬时属性)。