我一直在使用here的Glass Button Generator在iOS上生成看起来像UIGlassButtons但尚未使用UIGlassButton类的PNG(因为它是私有的)。然后将它们设置为自定义UIButton实例的图像。工作非常好,看起来很棒。
但是我现在处于需要在运行时动态设置按钮上的文本的情况。上述方法不起作用。我还需要至少在垂直维度上动态设置按钮的大小。
UIButton as-is看起来非常丑陋和扁平。必须有一些在运行时生成有吸引力的按钮的方法吗?
非单点触控特定解决方案受欢迎,易于翻译。
提前干杯。
答案 0 :(得分:7)
我想编写自己的GlassButton一段时间,随意将其剪切并粘贴到您的代码中,我将其作为MonoTouch.Dialog库的一部分:
你这样使用它:
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放在按钮上方,它看起来像按钮的一部分。