如何在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)

在 UITableViewCell 的突出显示上更改附件视图

如何选择/突出显示列表视图中的项目而不触摸它?

如何在iphone中以编程方式更改按钮文本

如何在滚动时突出显示/更改表格视图部分标题的背景颜色

如何在 NativeScript 中为 iOS 更改突出显示状态的按钮文本颜色?