根据文字自动调整UILabel大小。
lbl_genericIndicators.Font = UIFont.FromName (KHELVETIC, KFontSize12);
float width = View.Frame.Size.Width-20;
SizeF size = ((NSString)lbl_genericIndicators.Text).StringSize(lbl_genericIndicators.Font,constrainedToSize:new SizeF(width,100),
lineBreakMode:UILineBreakMode.WordWrap);
var labelFrame = lbl_genericIndicators.Frame;
labelFrame.Size = new SizeF(width,size.Height);
lbl_genericIndicators.Frame = new RectangleF (10, 128, size.Width,size.Height);
以下为示例文字:
UITextView显示的区域可以包含多行时间 用户点击文本视图,出现键盘;当用户点击返回时 键盘,键盘消失,文本视图可以处理 以特定于应用程序的方式输入。您可以指定属性等 如字体,颜色和对齐方式,适用于文本视图中的所有文本。
以上我正在使用的文字。它需要自动调整以显示内容。
答案 0 :(得分:3)
已解决以下代码
lbl_genericIndicators.Font = UIFont.FromName (KHELVETIC, KFontSize12);
lbl_genericIndicators.BackgroundColor = UIColor.Red;
lbl_genericIndicators.TextAlignment = UITextAlignment.Justified;
float width = View.Frame.Size.Width-20;
SizeF size=((NSString)lbl_genericIndicators.Text).StringSize(lbl_genericIndicators.Font,constrainedToSize:new SizeF(width,100),lineBreakMode:UILineBreakMode.WordWrap);
var labelFrame = lbl_genericIndicators.Frame;
labelFrame.Size = new SizeF(width,size.Height);
lbl_genericIndicators.Lines = int.Parse((lbl_genericIndicators.Text.Length / 40).ToString()) + 1;
lbl_genericIndicators.Frame = new RectangleF (10, 128, size.Width,size.Height);
答案 1 :(得分:1)
以下是我用于根据内容调整标签高度大小的代码段
void ChangeLabelHeigthWithText(UITextView label,float maxHeight = 100f)
{
float width = label.Frame.Width;
SizeF size = ((NSString)label.Text).StringSize(label.Font,constrainedToSize:new SizeF(width,maxHeight),
lineBreakMode:UILineBreakMode.WordWrap);
var labelFrame = label.Frame;
labelFrame.Size = new SizeF(width,size.Height);
label.Frame = labelFrame;
}