如何创建除图像以外的透明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.
答案 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] ;