@Christopher Fairbaim建議使用UIButtonTypeCustom。使用UIButtonTypeRoundedRect將爲您提供透明區域中的白色背景。
但是,在Interface Builder中進行接線有其侷限性。如果您想從數據集或基於用戶輸入動態生成UIViews,UIButtons和資產,可以通過編程方式進行操作。
創建的按鈕:(注:這也將與其他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];
(赦免任何錯別字,因爲我複製並從我的一個項目粘貼,並試圖推廣的命名。)