如何创建具有清晰背景的按钮

时间:2014-03-11 03:12:56

标签: ios uibutton

如何创建除图像以外的透明UIButton?

我的PNG背景透明。我用它创建了一个按钮,我得到了蓝色色调的图像。

如果我将tintColor设置为clearColor,则色调会消失,但黑色图像也会消失。

我一直在使用UIButtonTypeSystem作为按钮类型。

UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem] ;
button.frame = rect ;
[button setImage:image forState:UIControlStateNormal] ;
button.backgroundColor = [UIColor clearColor] ; // Does nothing
button.tintColor = [UIColor clearColor] ;  // Makes the button go away.

4 个答案:

答案 0 :(得分:1)

要获得透明按钮,您应该将其设置为自定义类型。所以你的代码将成为:

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = rect ;
[button setImage:image forState:UIControlStateNormal] ;
button.backgroundColor = [UIColor clearColor] ; // This is not necessary, unless you want to specify a color - say [UIColor redColor] - for the button

由于UIButtonTypeCustom的行为与UIButtonTypeSystem的行为不同,因此您应该查看各种布尔标志来设置特定的特征。它们必须手动设置或通过Interface Builder设置。以下是list属性。

答案 1 :(得分:1)

UIButton *button = [UIButton UIButtonTypeCustom] ;
button.frame = rect ;
[button setImage:image forState:UIControlStateNormal];

你只需要使用UIButtonTypeCustom,没有必要为UIButton设置任何backgroundColor或tintColor。

答案 2 :(得分:0)

您需要使用UIButtonTypeCustom

答案 3 :(得分:0)

只需更改一行使用UIButtonTypeCustom而不是UIButtonTypeSystem

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom] ;
button.frame = rect ;
[button setImage:image forState:UIControlStateNormal] ;
button.backgroundColor = [UIColor clearColor] ;