@Christopher Fairbaim は、UIButtonTypeCustom の使用を提案する権利があります。UIButtonTypeRoundedRect を使用すると、透明な領域に白い背景が表示されます。
ただし、Interface Builder での接続には制限があります。UIView、UIButton、およびアセットをデータ セットから、またはユーザー入力に基づいて動的に生成する場合は、プログラムで行う方法が適しています。
ボタンを作成するには: (注: これは他の UIButtonTypes でも機能しますが、この特定の透明度の例では UIButtonTypeCustom を使用しました。)
UIButton *btnName = [UIButton buttonWithType:UIButtonTypeCustom];
必要なプロパティを変更するには:
btnName.backgroundColor = [UIColor clearColor];
btnName.frame = CGRectMake(100, 100, 72, 37); //(X coord, Y coord, width, height)
[btnName addTarget:myActionClassName action:@selector(myActionName) forControlEvents:UIControlEventTouchUpInside];
さまざまな状態の画像を追加するには (これらは透明な .png であると仮定します):
UIImage *btnNameImageNormal = [UIImage imageNamed:@"btnNameNormal.png"];
[btnName setBackgroundImage:btnMenuImageNormal forState:UIControlStateNormal];
UIImage *btnNameImagePressed = [UIImage imageNamed:@"btnNamePressed.png"];
[btnName setBackgroundImage:btnNameImagePressed forState:UIControlStateHighlighted];
ビューにボタンを追加するには (viewController クラス内から):
[self addSubview:btnName];
(私のプロジェクトの 1 つからコピーして貼り付け、命名を一般化しようとしたため、タイプミスを許してください。)