如何在iphone中更改下一个视图之前突出显示按钮?
Posted
技术标签:
【中文标题】如何在iphone中更改下一个视图之前突出显示按钮?【英文标题】:How to highlight the button untill the next view is changed in iphone? 【发布时间】:2010-04-19 10:34:36 【问题描述】:我在视图控制器中创建了五个按钮。如果我单击该按钮,它将转到相应的视图。现在我想在单击时以突出显示状态显示按钮。只有当我单击另一个按钮时,它才会恢复正常状态。当我单击它时,我已经为高亮按钮设置了另一个图像,但它仅显示突出显示状态一秒钟。现在我想显示突出显示的按钮,直到单击另一个按钮。与 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];
请帮帮我。
谢谢。
【问题讨论】:
【参考方案1】:您应该为选定状态而不是突出显示状态操作图像。如您所见,高亮将在修饰或触摸外部时取消设置,而选中是持久的。
【讨论】:
【参考方案2】:简单的解决方案是......
每次单击任何按钮时,将其图像(对于正常状态)更改为该特定按钮的突出显示图像,并将其他 4 个按钮的图像设置为正常图像...
【讨论】:
@mihirpmehta,如果我这样做,它只会显示一秒钟。但我想突出显示按钮,直到单击下一个按钮。(类似的标签栏) 上面的逻辑仅用于那个......假设button1的正常状态image11在那里并且image12用于突出显示......在button1的点击事件中将button1的图像设置为button12(对于正常状态)......对于其他 4 个按钮,将其图像更改为各自正常状态的图像......它肯定会工作......你明白我的意思了吗......?【参考方案3】:听起来您应该使用带有 5 个段而不是 5 个按钮的 UISegmentedControl。它已经以这种方式运行,一个段会一直突出显示,直到您选择另一个段(除非您设置了瞬时属性)。
【讨论】:
以上是关于如何在iphone中更改下一个视图之前突出显示按钮?的主要内容,如果未能解决你的问题,请参考以下文章
如何更改标签栏图标的突出显示颜色? (iPhone/iPad)