好的,我正在这样做:
UIButton btReturn;
btReturn = UIButton.FromType (UIButtonType.RoundedRect);
btReturn.Frame = btnBounds;
btReturn.SetTitle (Caption, UIControlState.Normal);
btReturn.Layer.CornerRadius = 14;
btReturn.ClipsToBounds = true;
btReturn.TouchUpInside += touchHandler;
btReturn.BackgroundColor = UIColor.FromRGB (0xe4, 0x96, 0x37);
return btReturn;
这引出了一个问题......为什么它会变成白色背景?我最初尝试将其设置为使用背景图像清除,但这也不起作用......
可能出现什么问题?
答案 0 :(得分:1)
这是因为RoundedRect
类型UIButton
类型不允许除白色之外的任何其他颜色背景。
你必须使用UIButtonType.Custom
来改变背景颜色(但是你会丢失漂亮的圆形按钮并最终得到一个方形按钮 - 你必须设计自己喜欢的按钮你最喜欢的图形包:)
答案 1 :(得分:0)
试试这个,
btReturn.BackgroundView = null;
btReturn.BackgroundColor = UIColor.Black;
另请参阅以下链接
How to change background color of UIButton in Monotouch
How to set the background color on a DialogViewController (Monotouch.Dialog)
答案 2 :(得分:0)
请看这里:is-it-even-possible-to-change-a-uibuttons-background-color还有一个示例,以及如何创建自己的按钮,因为您无法修改圆角按钮。