UIButton高亮设置不会坚持

时间:2011-06-23 14:09:03

标签: cocoa-touch uikit uibutton

肯定有很多UIButton问题,我希望找到答案,但没有什么比这个特定的问题更好。

我有几个按钮,当程序运行时,我可以为任何按钮调用button.highlighted = YES;并显示突出显示。

我想我可以使用同样的技术在按下按钮后将按钮的高亮状态设置为YES,然后在按下另一个按钮后将其设置为NO。这样,当前选择仍然突出显示。

例如:

-(IBAction) buttonPressed:(UIButton *)button
{
    if (button.tag==1)
    {
        self.button1.highlighted=YES;
        self.button2.highlighted=NO;
        // do other program stuff here
    }

    if (button.tag==2)
    {
        self.button2.highlighted=YES;
        self.button1.highlighted=NO;
        // do other program stuff here
    }
}

即使将highlighted = YES;代码放在viewDidLoad中,亮点也能正常工作。但上面的代码不起作用。亮点不坚持。这些按钮有效,并完成了其他需要做的事情,但突出显示无法坚持下去。

我认为这应该是非常基本的。在任何按钮操作后,iOS会以某种方式自动将所有按钮高亮显示为NO吗?

2 个答案:

答案 0 :(得分:0)

由于来自UIControl的文档声明,您可能应该使用其他方式来呈现突出显示状态:

  

默认情况下,控件不是   突出显示。 UIControl自动   设置并清除此状态   触摸进入时自动进行   在跟踪期间以及何时退出   是一个修饰。

答案 1 :(得分:0)

您可以尝试使用'selected'属性而不是'highlight'属性。