在 UIView 中定位文本

Positioning text in UIView

我需要在使用标签的 UIView 中显示一些文本。我正在使用 xib 文件。我需要对齐:

  1. 在视图中水平、垂直居中标签
  2. 最大宽度。 (假设屏幕宽度为 500,我希望标签为 200。但是如果屏幕宽度小于 200,那么它将是从左视图边缘到右视图边缘。)
  3. 最大高度应该是自动的。如果屏幕上的文本没有足够的 space 应该是屏幕高度减去它和底部视图边缘之间的一些固定 space(如果可能的话也可以扩展宽度)。标签下的按钮需要底部的space。

这可以吗?我对界面生成器没有足够的经验。

对中心使用对齐约束。
使用长宽比作为尺寸。
-> 设置纵横比高度 = 宽度的百分比和最大宽度 200px

使用 SizeClass 为小于 500 像素的屏幕设置另一个约束尺寸。 在屏幕尺寸不同的布局下尽可能多地执行此操作。

1) 为标签应用所需的自动布局并采用 3 个 NSLayoutConstraint IBOutlets 属性,它们是 1) 标签宽度 2) 标签高度 3) 标签 y 原点。

2) 计算标签宽度 假设标签宽度约束名称是:lblWidthConstraint

  **CGFrame screenFrame = [UIScreen mainScreen].bounds;**

     **if(screenframe.size.width>200){
      self.lblWidthConstraint.constant = 200;
     }else{
       self.lblWidthConstraint.constant = screenframe.size.width-6;//
     }**

3) 计算标签高度 假设标签高度约束名称是:lblHeighthConstraint

根据Label fixed width和Fixed Text找到Label Height,这里Max Height应该是

CGFloat height = screenframe.size.height-2*(buttonHeight+spacing); self.lblHeighthConstraint.constant = 身高;

4)计算标签Y原点 假设标签 Y 原点约束名称为:lblHeighthYorigin

根据LabelHeight我们应该计算Label y原点

yOrign = screenframe.size.height-height/2; self.lblHeighthYorigin.constant = yOrign;