仅通过代码以编程方式添加 UILabel。浆纱? (Swift)
Adding UILabel programmatically only by code. Sizing ? (Swift)
我尝试通过有效代码添加 UILabel,但未按预期添加。
使用以下代码我可以看到标签,但标签的高度不正确,如您在所附屏幕中所见。我想要 uilabel 的大小,以便标签的高度对应于字体大小。
当然,我可以简单地加大 UILabels 的高度,以便文本适合。但我认为这不是最佳做法。
如何根据字体大小调整 UILabel 的大小?
var uilabel1=UILabel();
uilabel1.frame=CGRectMake(0, drawy, screenwidth, ititlesize);
uilabel1.text=sTextViewOptionsTitle;
uilabel1.font = UIFont(name: uilabel1.font.fontName, size: 28);
self.view.addSubview(uilabel1);
var lastelementheigth=uilabel1.frame.height;
使用 sizeToFit()
更新解决方案
感谢您对 sizeToFit() 的回答。这用一些额外的代码来定位控件。
更新代码:
var uilabel2=UILabel();
//uilabel2.frame=CGRectMake(0, drawy, screenwidth/2, DropdownHeigth);
uilabel2.text=sTextSizeTextViewer;
uilabel2.font = UIFont(name: uilabel2.font.fontName, size: iFontsize_Option);
uilabel2.sizeToFit();
uilabel2.frame.origin = CGPoint(x: 0, y: drawy);
self.view.addSubview(uilabel2);
lastelementheigth=uilabel2.frame.height;
之前有人问过 - 看看:
Replacement for deprecated sizeWithFont: in iOS 7?
您要找的方法是sizeWithAttributes
您可能只需要拨打-sizeToFit
。这将根据其内容将标签的大小更改为其 "preferred" 大小。然后您可以根据需要重新定位原点或中心。
我尝试通过有效代码添加 UILabel,但未按预期添加。
使用以下代码我可以看到标签,但标签的高度不正确,如您在所附屏幕中所见。我想要 uilabel 的大小,以便标签的高度对应于字体大小。
当然,我可以简单地加大 UILabels 的高度,以便文本适合。但我认为这不是最佳做法。
如何根据字体大小调整 UILabel 的大小?
var uilabel1=UILabel();
uilabel1.frame=CGRectMake(0, drawy, screenwidth, ititlesize);
uilabel1.text=sTextViewOptionsTitle;
uilabel1.font = UIFont(name: uilabel1.font.fontName, size: 28);
self.view.addSubview(uilabel1);
var lastelementheigth=uilabel1.frame.height;
使用 sizeToFit()
更新解决方案感谢您对 sizeToFit() 的回答。这用一些额外的代码来定位控件。 更新代码:
var uilabel2=UILabel();
//uilabel2.frame=CGRectMake(0, drawy, screenwidth/2, DropdownHeigth);
uilabel2.text=sTextSizeTextViewer;
uilabel2.font = UIFont(name: uilabel2.font.fontName, size: iFontsize_Option);
uilabel2.sizeToFit();
uilabel2.frame.origin = CGPoint(x: 0, y: drawy);
self.view.addSubview(uilabel2);
lastelementheigth=uilabel2.frame.height;
之前有人问过 - 看看: Replacement for deprecated sizeWithFont: in iOS 7?
您要找的方法是sizeWithAttributes
您可能只需要拨打-sizeToFit
。这将根据其内容将标签的大小更改为其 "preferred" 大小。然后您可以根据需要重新定位原点或中心。