1

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

请帮帮我。

谢谢。

4

3 回答 3

2

您应该为选定状态而不是突出显示状态操作图像。如您所见,高亮将在修饰或触摸外部时取消设置,而选择是持久的。

于 2010-04-19T11:43:21.247 回答
1

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

每次单击任何按钮时,将其图像(对于正常状态)更改为该特定按钮的突出显示图像,并将其他 4 个按钮的图像设置为正常图像...

于 2010-04-19T10:47:39.603 回答
1

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

于 2010-04-19T21:59:49.810 回答