2011-06-23 39 views
0

这里肯定有很多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 
    } 
} 

即使亮点正常工作,如果我把里面viewDidLoad中的highlighted = YES;代码。但上面的代码不起作用。亮点并不坚持。按钮的工作原理,并做其他的东西,它需要做的,但突出显示未能坚持。

我会认为这应该是非常基本的。是否iOS在按钮操作后自动将所有按钮高亮设置为NO?

+0

确保您在viewDidLoad中的第一个呼叫是'[super viewDidLoad]' –

+0

它确实存在。 – johnbakers

+0

你的意思是“精彩的作品没有他们自己的”?你的问题是,你想设置一个按钮,突出显示一个视图? – dasdom

回答

0

可能是你应该使用其他手段来呈现光亮状态,因为从UIControl的文档声明:

默认情况下,控制不 突出。 UIControl自动设置并在触摸进入时自动清除此状态 ,并且 在跟踪过程中退出并且 触摸时弹出。

+0

我想知道这是否意味着即使您只触摸其中一个按钮,UIControl也会影响所有按钮的所有高亮状态;因为那是我的经历。我怀疑我需要做类似这样的事情:http://forums.macrumors.com/showthread.php?t=530998虽然当你想要做的只是操纵一个亮点 – johnbakers

+0

果然,它通过使用'selected'属性而不是'highlight'来改变背景图像和标题文本的颜色。 – johnbakers

0

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