如何突出显示按钮,直到 iPhone 中的下一个视图发生更改?

发布于 2024-08-29 08:52:49 字数 743 浏览 7 评论 0原文

我在视图控制器中创建了五个按钮。如果我单击该按钮,它将转到相应的视图。现在我想在单击按钮时以突出显示状态显示该按钮。仅当我单击另一个按钮时,它才应返回正常状态。当我单击它时,我已经为高亮按钮设置了另一个图像,但它仅显示突出显示状态一秒钟。现在我想显示突出显示的按钮,直到单击另一个按钮。与选项卡操作相同。(我使用按钮而不是选项卡来满足要求)。

现在我已经使用了以下代码,

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];
}

请帮助我。

谢谢。

I have created five buttons in the view controller. If i clicked the button it goes to the corresponding view. Now i want to display the button in highlighted state when it is clicked. It should go back to the normal state only when i click the other button. I have set the another image for highigthting buttons when i clicked it, but it shows that highlighted state only one sec. Now i want to display the buttons highlighted till another button is clicked. Same like a Tabbar operations.(I have used buttons instead of tabbar for the requirements).

Now i have used the following code,

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];
}

Please help me out.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

雨落星ぅ辰 2024-09-05 08:52:49

您应该针对选定状态操作图像,而不是针对突出显示状态。正如您所看到的,突出显示将在触摸或触摸外部时取消设置,而选定的内容是持久的。

You should be manipulating the image for selected state, not for highlighted state. Highlight will be unset on touch up or touch outside, as you have seen, whereas selected is persistent.

或十年 2024-09-05 08:52:49

简单的解决方案是...

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

Simple solution would be...

on every click on any button change it's image (For normal state) to highlighted image for that particular button and set other 4 button's image to normal image...

千鲤 2024-09-05 08:52:49

It sounds like you should be using a UISegmentedControl with 5 segments instead of 5 buttons. It behaves this way already, a segment stays highlighted until you select a different one (unless you set the momentary property).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文