iphone - 如何使动态大小的文本居中

时间:2011-03-01 19:32:35

标签: iphone uitextview uilabel

我想要在框的边界内显示居中(垂直和水平)的文本。文本是动态的,所以我不能只在IB中设置它。

有人有什么想法吗?

3 个答案:

答案 0 :(得分:2)

您可以使用以下方法将预期大小设为

CGSize expectedLabelSize = [yourString sizeWithFont:yourLabel.font];

使用此设置将标签的框架设为

yourLabel.frame = CGRectMake( yourX, yourY, expectedLabelSize.width , expectedLabelSize.height;

使用UIButton和UItextArea可以完成同样的操作。您也可以使用UITextField,但高度不可调。

您也可以将textalignment属性设置为中心为yourLabel.textAlignment = UITextAlignmentCenter

希望它有效!!

答案 1 :(得分:1)

您可以使用UITextView的contentSize属性中的高度来设置UITextView的contentOffset属性,使文本高度在文本视图的框架高度中居中。宽度相似。如果您只想显示文本,则无需编辑文本视图。

您还可以使用包含适当CSS的UIWebView来集中内容。

答案 2 :(得分:0)

根据需要修改setAutoresizingMask属性