UIButton背景不会透明

时间:2012-09-03 10:12:45

标签: objective-c user-interface uibutton

我正在尝试创建自定义UIButton,但是当我将背景设置为透明/透明时,它会用黑色填充框架的背景。我不是在IB中创建这些,我需要以编程方式执行此操作。有什么我想念的吗?

UIButton* btn = [UIButton buttonWithType: UIButtonTypeCustom];
btn.frame = rect;
[btn addTarget: self action:@selector(toggleMaster) forControlEvents: UIControlEventTouchUpInside];
btn.opaque = NO;
btn.backgroundColor = [UIColor clearColor];
[btn setBackgroundImage: [UIImage imageNamed: [NSString stringWithFormat: @"%@_icon", self.currentKey]] forState: UIControlStateNormal];
[self addSubview: btn];

编辑: 我意识到我应该提到我在UIView的drawRect方法中这样做。不好的做法?

1 个答案:

答案 0 :(得分:0)

我认为您不需要设置backgroundColorUIButtonTypeCustom默认情况下已经是透明的。没有它你试过吗?此外,图像透明吗?尺寸与按钮相同?