【问题标题】:iphone - How to center dynamic sized textiphone - 如何使动态大小的文本居中
【发布时间】:2011-07-06 18:33:30
【问题描述】:

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

有人有什么想法吗?

【问题讨论】:

标签: iphone uitextview uilabel


【解决方案1】:

根据需要修改 setAutoresizingMask 属性

【讨论】:

    【解决方案2】:

    您可以使用 UITextView 的 contentSize 属性的高度来设置 UITextView 的 contentOffset 属性,以使文本高度以文本视图的框架高度为中心。宽度类似。如果您只想显示文本,则文本视图不必是可编辑的。

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

    【讨论】:

      【解决方案3】:

      你可以使用下面的方法得到预期的大小为

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

      使用此设置标签的框架为

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

      UIButton 和 UItextArea 也可以这样做。您也可以使用 UITextField 但高度不可调整。

      您还可以将textalignment 属性设置为Center 为yourLabel.textAlignment = UITextAlignmentCenter

      希望它有效!

      【讨论】:

      • 感谢您的回复,但我看不到这如何垂直对齐我的文本。
      • 是的.....你是ryt ....我也不确定垂直对齐......据我所知,没有内置的对齐方式.... :(
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-22
      • 2013-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-20
      • 1970-01-01
      相关资源
      最近更新 更多