1

我有一个应用程序需要某个按钮在按下时保持突出显示。按下此按钮时应保持突出显示,以通知用户特定页面已添加到收藏夹。并且可以解压。任何想法如何做到这一点?

4

3 回答 3

2
    [yourButton setImage:[UIImage imageNamed:@"normalState.png"] forState:UIControlStateNormal];
    [yourButton setImage:[UIImage imageNamed:@"highlightedState.png"] forState:UIControlStateSelected];
    [yourButton setImage:[UIImage imageNamed:@"highlightedState.png"] forState:UIControlStateSHighlighted];

设置此图像首选项以及您想要调用的任何时间

 [yourButton setSelected:YES];

这会将您的按钮更改为突出显示状态。您可以通过执行将其更改为正常

 [yourButton setSelected:NO];

希望这可以帮助!

于 2012-07-23T06:03:55.707 回答
1

上面的答案一切都很好,除了可能导致问题的错字。 UIControlStateSHighlighted 应该是 UIControlStateHighlighted

这里有更多例子

http://www.guyford.co.uk/showpage.php?id=279&page=XCode_IPhone_/_iPad_Development_-_Highlighting_a_Button_and_setting_its_image

于 2013-09-21T19:41:05.973 回答
0

是的,只需为按钮保留一个图像以显示高亮状态,就像这样。

[myBtn setImage:@"highlightedImage.png" forState:UIControlStateHighlighted];

现在,在按钮检查突出显示版本和普通版本的方法中

-(IBAction) startWorkoutClicked:(id)sender
{
     if(btnStart.highlighted)
     {
         btnStart.highlighted = NO; //btn changes to normal state
     }
     else
     {
         btnStart.highlighted = YES; //btn changes to highlighted state 
     } 
}
于 2012-07-23T05:58:32.847 回答