0

好的,我正在这样做:

    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;

这引出了一个问题……为什么它会以白色背景出现???我最初尝试将其设置为使用背景图像清除,但这也不起作用...

有什么问题?

4

3 回答 3

1

这是因为 的RoundedRect类型UIButton不允许除白色之外的任何其他颜色背景。

您必须使用 aUIButtonType.Custom来更改背景颜色(但您将失去漂亮的圆形按钮并最终得到一个方形按钮 - 您必须在您最喜欢的图形包中设计自己的精美按钮 :)

于 2013-03-20T10:46:38.420 回答
0

像这样试试

         btReturn.BackgroundView = null;
         btReturn.BackgroundColor = UIColor.Black;

另请参阅以下链接,

如何在 Monotouch 中更改 UIButton 的背景颜色

如何在 DialogViewController (Monotouch.Dialog) 上设置背景颜色

于 2013-03-20T04:49:46.663 回答
0

看这里:is-it-even-possible-to-change-a-uibuttons-background-color还有一个关于如何创建自己的按钮的示例,因为您无法修改圆形按钮。

于 2013-03-20T13:30:19.403 回答