iOS

时间:2015-10-21 21:05:52

标签: ios objective-c uilabel

我之前曾在Windows手机上工作,看到Windows手机中的每个控件都有一个自动属性,这意味着占用了内容的大小。

我在iOS中看到这样的属性不存在。当有动态数据绑定到UILabel时,我总是需要计算数据的高度,然后分配给UILabel。这需要花费大量时间和痛苦。是不是有自动财产,或者我在这里遗漏了什么?

3 个答案:

答案 0 :(得分:1)

iOS有AutoLayout非常有帮助,熟悉它。

  1. 点击标签
  2. 点击图钉约束按钮(小方块按钮)
  3. 添加自定义LEFT,RIGHT,TOP页边距或LEFT,RIGHT,BOTTOM页边距
  4. 点击"添加3个约束"
  5. 将行数设置为0,表示视图需要的行数
  6. 然后你可能有警告线,但你可以解决它们
  7. 只需点击修复约束按钮(小三角按钮)
  8. 即可
  9. 点击更新框架 enter image description here enter image description here
  10. <强>更新

    重要提示:你的问题的答案是 将数量为0 你可以使用0行的UILabel(这是自动调整框架和AutoLayout。 AutoLayout只是一个友好的建议,可以帮助您设置视图。同时放Line Breaking Word Wrap

    在这里,您还可以使用一些有用的链接来处理AutoLayout。 AutoLayout非常棒,因为您不再关心屏幕大小,当时设备的方向是什么。你只需要正确设置一切,一切都很有效,但如果你的设置错误,那么AutoLayout可能会成为你的敌人。所以现在就开始学习和体验。

    Very good point to Begin learning AutoLayout
    If Your are being lazy, start from video tutorial series
    Great iOS7+ table view tutorial with autoresizing cells
    Also check out this Stack Overflow discussion

答案 1 :(得分:0)

您需要熟悉Auto Layout

  

自动布局动态计算所有的大小和位置   视图层次结构中的视图,基于对这些视图的约束   视图。

答案 2 :(得分:0)

只需给出顶部,左侧和右侧约束,并将标签的numberOfLines设为0.即可。标签的高度会自动调整大小。