.selected
和.highlighted
属性不会删除它,因为由于某种原因,当突出显示和选中的按钮设置为更亮时,按钮看起来更加灰白(非突出显示的图像的颜色较深) YES。
我需要让我的按钮关闭,就好像用户将其关闭一样 我该怎么做?
答案 0 :(得分:4)
我现在认为我理解你的意思。我在我的UIButton中放了一个图像,并尝试在触摸时改变按钮的状态。
- (IBAction)touchDown:(id)sender {
[(UIButton *)sender setHighlighted:FALSE];
[(UIButton *)sender setSelected:FALSE];
}
我注意到在移动手指之前图像不会变暗。如果您将操作连接到“触摸内部拖动”并选中.highlighted
,您应该会看到它再次变为TRUE。您可以将其设置为FALSE:
- (IBAction)touchMove:(id)sender
{
[(UIButton *)sender setSelected:FALSE];
}
如果您只是在寻找一种方法来阻止图像在用户按下时变为灰色,请执行以下操作:
button.adjustsImageWhenHighlighted = FALSE;
为UIControlStateHighlighted
设置图像也会消除灰色。
UIImage *image = [UIImage imageNamed:@"img"];
[button setImage:image forState:UIControlStateNormal];
[button setImage:image forState:UIControlStateHighlighted];
答案 1 :(得分:0)
如果通过“关闭”表示您要禁用该按钮,则可以使用:
[myButton setEnabled:NO];