【发布时间】:2011-07-06 18:33:30
【问题描述】:
我想要在框的范围内居中显示(垂直和水平)文本。文本是动态的,所以我不能只在 IB 中设置它。
有人有什么想法吗?
【问题讨论】:
标签: iphone uitextview uilabel
我想要在框的范围内居中显示(垂直和水平)文本。文本是动态的,所以我不能只在 IB 中设置它。
有人有什么想法吗?
【问题讨论】:
标签: iphone uitextview uilabel
根据需要修改 setAutoresizingMask 属性
【讨论】:
您可以使用 UITextView 的 contentSize 属性的高度来设置 UITextView 的 contentOffset 属性,以使文本高度以文本视图的框架高度为中心。宽度类似。如果您只想显示文本,则文本视图不必是可编辑的。
您还可以使用包含适当 CSS 的 UIWebView 来使内容居中。
【讨论】:
你可以使用下面的方法得到预期的大小为
CGSize expectedLabelSize = [yourString sizeWithFont:yourLabel.font];
使用此设置标签的框架为
yourLabel.frame = CGRectMake( yourX, yourY, expectedLabelSize.width , expectedLabelSize.height;
UIButton 和 UItextArea 也可以这样做。您也可以使用 UITextField 但高度不可调整。
您还可以将textalignment 属性设置为Center 为yourLabel.textAlignment = UITextAlignmentCenter
希望它有效!
【讨论】: