UIButton setSelected:NO不显示默认背景图像

时间:2013-04-25 10:26:42

标签: ios objective-c uibutton

我有一个带有2张背景图片的自定义UIButton

in Default State: default.png

in Selected State: selected.png

在Xib文件中设置。

这是在按下按钮时调用的:

-(IBAction)numberSelected:(id)sender{
  NSLog(@"Button pressed %@",[sender currentTitle]);
  UIButton* button = (UIButton*)sender;
  button.selected = !button.selected;

  [button release];
}

这是错误的行为:

我按下按钮,背景图像切换到selected.png(正确),我再次按下它,并且没有显示backgorund图像。我再次按下它,应用程序崩溃了。谁知道帮忙?非常感谢。

3 个答案:

答案 0 :(得分:2)

我想您忘了设置:UIControlStateSelected添加图片。

[button setImage:[UIImage imageNamed:@"Selected.png"] forState:UIControlStateSelected | UIControlStateHighlighted];

编辑:

你为什么要[button release];当然它会第二次崩溃。

答案 1 :(得分:1)

无需在那里释放按钮。删除

[button release];

答案 2 :(得分:1)

 [button release];

此声明必须删除!