我使用uibutton在标题中显示一些文本,有时文本很长,我设置
text.TitleLabel.LineBreakMode = UILineBreakMode.WordWrap;
当有2行或更多行时,背景没有足够的高度
这是我的按钮代码:
text = new UIButton ();
text.Layer.CornerRadius = 5;
text.Font = UIFont.FromName ("DIN Condensed", text.Font.PointSize);
text.SetTitle (Original._hint, UIControlState.Normal);
text.SizeToFit ();
text.TitleLabel.LineBreakMode = UILineBreakMode.WordWrap;
var rec = new UILongPressGestureRecognizer (() => {
text.Frame = new CGRect ((UIApplication.SharedApplication.KeyWindow.Frame.Width / 2.0f) - (250 / 2.0f),
this.Superview.Superview.Superview.Frame.Height / 2.0f,250, text.Frame.Height);
Animate (0.6f, () => {
this.Superview.Superview.Superview.AddSubview (text);
}, () => {
text.Layer.ZPosition = int.MaxValue;
});
viewToremove=text;
});
text.SetTitleColor (UIColor.White, UIControlState.Normal);
text.BackgroundColor = UIColor.Black;
TargetView.AddGestureRecognizer (rec);
答案 0 :(得分:0)
让事情更清楚:
答案 1 :(得分:0)
我认为您的问题可能是由.SizeToFit()方法造成的。通常,您希望.SizeToFit()方法是UIButton的最后一次修改,或任何其他控件。这是为了防止.Frame问题,并且文本没有正确显示。这可能也适用于UIButton的背景。所以:
让我知道它是否有效。祝你好运!
爱和问候, 的Björn
答案 2 :(得分:0)
您是否尝试过使用9patch drawable作为背景图片?这些设计专门针对您不确定内容长度并要求背景图像拉伸/缩小以适应的情况。更多信息here