有吸引力的iOS UIButtons在运行时

时间:2011-04-07 08:22:54

标签: ios uibutton xamarin.ios uiglassbutton

我一直在使用here的Glass Button Generator在iOS上生成看起来像UIGlassButtons但尚未使用UIGlassButton类的PNG(因为它是私有的)。然后将它们设置为自定义UIButton实例的图像。工作非常好,看起来很棒。

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

UIButton as-is看起来非常丑陋和扁平。必须有一些在运行时生成有吸引力的按钮的方法吗?

非单点触控特定解决方案受欢迎,易于翻译。

提前干杯。

3 个答案:

答案 0 :(得分: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);

答案 1 :(得分:1)

UIButton子类并添加UILabel作为子视图。使用Interface Builder比使用Interface Builder更容易做到这一点。

公开它的文本属性,也可能是其他字符大小等。

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

答案 2 :(得分:0)

你可以没有任何东西放置按钮,然后用文本绘制UILabel,使用clearColor绘制UILabel的背景,将UILabel放在按钮上方,它看起来像按钮的一部分。