在 UIView 中定位文本
Positioning text in UIView
我需要在使用标签的 UIView 中显示一些文本。我正在使用 xib 文件。我需要对齐:
- 在视图中水平、垂直居中标签
- 最大宽度。 (假设屏幕宽度为 500,我希望标签为 200。但是如果屏幕宽度小于 200,那么它将是从左视图边缘到右视图边缘。)
- 最大高度应该是自动的。如果屏幕上的文本没有足够的 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;
我需要在使用标签的 UIView 中显示一些文本。我正在使用 xib 文件。我需要对齐:
- 在视图中水平、垂直居中标签
- 最大宽度。 (假设屏幕宽度为 500,我希望标签为 200。但是如果屏幕宽度小于 200,那么它将是从左视图边缘到右视图边缘。)
- 最大高度应该是自动的。如果屏幕上的文本没有足够的 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;