1

カスタム 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];

編集: drawRectUIView のメソッドでこれを行っていることに言及する必要があることに気付きました。悪い習慣?

4

1 に答える 1

0

を設定する必要はないと思いますが、デフォルトbackgroundColorUIButtonTypeCustomはすでに透過的です。それなしで試しましたか?また、画像は透明ですか?ボタンの大きさは同じですか?

于 2012-09-03T10:16:43.677 に答える