UILabel 对齐并将一个视图移动到不同大小的另一个视图 类
UILabel alignment and moving one view to other view in different Size Classes
总结
我正在我当前的项目中制作一个收据屏幕,这个屏幕可以纵向和横向查看。我已经完成了纵向约束,它看起来像这样:
。现在,在横向上应该是这样的:
问题
(1)竖屏时A1-A3居中对齐,横屏时左对齐(A1-A3的值是动态的,可以是长文本也可以是短文本)。那么,我可以添加一个约束以编程方式从中心到左侧对齐,还是有任何其他方法可以做到这一点?
(2)注意在landscape中View A、B、C的parentView合二为一,这样可行吗? UIImageView 必须放在 View B
下面
我试过的
(1) 只有系统字体系列和大小可以在使用 IB 的不同大小 class 中更改,如果 UILabel 居中对齐,它将在所有大小中居中 classes
(2) 将 UIImageView 从视图 B 移动到视图 C 时出现错误。似乎如果将一个视图移动到另一个视图,它将永久移动所有大小 classes
对于标签对齐,您必须在代码中更新它。您可以通过在视图控制器或自定义视图上实现 traitCollectionDidChange:
来检测大小 class 何时发生变化。
对于图像,一种方法是不使图像视图成为B或C的子视图。相反,使其成为根视图的子视图,但将其定位在B 和 C 使用约束。示例:
注意文档大纲中Image是不是Green的子视图;它是根视图的子视图。由于 Image 在子视图列表中排在最后,因此它比其他视图“在前面”或“更靠近屏幕”。
图像为 wAny/hAny 安装了约束,以便将其定位为 Image.centerY = Green.centerY 和 Image.trailing = Green.trailing - 20。
现在这里是 wAny/hCompact 尺码 class:
现在未安装将图像置于绿色的约束。相反,我为 wAny/hCompact 安装了约束,设置 Image.centerX = Blue.centerX 和 Image.top = Blue.top + 20.
这是iPhone 4s 模拟器中的演示:
总结
我正在我当前的项目中制作一个收据屏幕,这个屏幕可以纵向和横向查看。我已经完成了纵向约束,它看起来像这样:
。现在,在横向上应该是这样的:
问题
(1)竖屏时A1-A3居中对齐,横屏时左对齐(A1-A3的值是动态的,可以是长文本也可以是短文本)。那么,我可以添加一个约束以编程方式从中心到左侧对齐,还是有任何其他方法可以做到这一点?
(2)注意在landscape中View A、B、C的parentView合二为一,这样可行吗? UIImageView 必须放在 View B
下面我试过的
(1) 只有系统字体系列和大小可以在使用 IB 的不同大小 class 中更改,如果 UILabel 居中对齐,它将在所有大小中居中 classes
(2) 将 UIImageView 从视图 B 移动到视图 C 时出现错误。似乎如果将一个视图移动到另一个视图,它将永久移动所有大小 classes
对于标签对齐,您必须在代码中更新它。您可以通过在视图控制器或自定义视图上实现 traitCollectionDidChange:
来检测大小 class 何时发生变化。
对于图像,一种方法是不使图像视图成为B或C的子视图。相反,使其成为根视图的子视图,但将其定位在B 和 C 使用约束。示例:
注意文档大纲中Image是不是Green的子视图;它是根视图的子视图。由于 Image 在子视图列表中排在最后,因此它比其他视图“在前面”或“更靠近屏幕”。
图像为 wAny/hAny 安装了约束,以便将其定位为 Image.centerY = Green.centerY 和 Image.trailing = Green.trailing - 20。
现在这里是 wAny/hCompact 尺码 class:
现在未安装将图像置于绿色的约束。相反,我为 wAny/hCompact 安装了约束,设置 Image.centerX = Blue.centerX 和 Image.top = Blue.top + 20.
这是iPhone 4s 模拟器中的演示: