2

我一直在使用 Glass Button GeneratoriOS 上生成看起来像 UIGlassButtons 但不使用 UIGlassButton 类(因为它是私有的)的 PNG。然后将这些设置为自定义 UIButton 实例的图像。工作得很好,看起来很棒。

但是,我现在处于需要在运行时动态设置按钮上的文本的情况。上述方法行不通。我还需要至少在垂直维度上动态设置按钮的大小。

UIButton 看起来非常丑陋和扁平。必须有某种方法可以在运行时生成有吸引力的按钮?

欢迎非单点触控专用解决方案,易于翻译。

提前喝彩。

4

3 回答 3

7

有一段时间我想编写自己的 GlassButton,随意剪切并粘贴到您的代码中,我将它作为 MonoTouch.Dialog 库的一部分:

https://github.com/migueldeicaza/MonoTouch.Dialog/blob/master/MonoTouch.Dialog/Utilities/GlassButton.cs

你像这样使用它:

 var glossy = new GlassButton (new RectangleF (0, 0, 120, 50)) {
     NormalColor = UIColor.Red,
     HighlightedColor = UIColor.Black,
     DisabledColor = UIColor.Black
 };
 glossy.Tapped += delegate {
      Console.WriteLine ("I have been tapped");
 }
 window.AddSubview (glossy);
于 2011-04-08T02:50:53.787 回答
1

子类 UIButton 并添加一个 UILabel 作为子视图。这在直接的 C# 中比使用 Interface Builder 更容易。

公开它的文本属性,也许还有其他的,比如字体大小等。

这应该就是让它工作所需的一切。

于 2011-04-07T11:59:58.210 回答
0

你可以只放按钮,然后,用文本绘制一个 UILabel,用 clearColor 绘制 UILabel 的背景,将 UILabel 放在按钮上方,它看起来像按钮的一部分。

于 2011-06-14T10:27:58.580 回答