不同设备宽度的不同尺寸和视图对齐方式

Posted

技术标签:

【中文标题】不同设备宽度的不同尺寸和视图对齐方式【英文标题】:Different size and alignment of view for different device widths 【发布时间】:2017-01-17 11:49:53 【问题描述】:

如何在 iPhone 6 纵向模式和横向模式下实现视图跨越设备宽度,最大宽度为 400 像素并与右侧对齐?

这可以通过使用设备类和/或改变特征来实现吗?我真正想要的是视图适应设备的宽度:如果它比 400 像素宽(因为我将设备旋转到横向模式或者因为应用程序在 iPhone Plus 或 iPad 上运行)它不应该再跨越显示器的宽度,但最大宽度为 400 像素并位于右侧。也许这只能通过代码来完成?

感谢您的任何意见。

【问题讨论】:

How to set dynamic width & height of a view in autolayout in ios?的可能重复 【参考方案1】:

我真正想要的是视图适应 设备:如果它宽于 400 像素(因为我将设备旋转到 横向模式或因为应用程序在 iPhone Plus 或 iPad 上运行)它 不应再跨越显示器的宽度,而应具有 最大宽度为 400 像素并位于右侧。

这可以通过设置以下约束来控制视图的宽度和位置来实现。

    使用常量01000 优先级将视图固定到其父视图的后沿。 使用常量0 和优先级750 将视图固定到其父视图的前沿。 为视图设置宽度约束,使其小于或等于400,优先级为1000

在 iPhone 6 上以纵向查看时,所有三个约束都可以轻松满足。

当在 iPhone 6 上以横向查看时,约束 2(具有较低优先级)被打破以满足其他 2 个约束。 Auto Layout 将尽最大努力满足约束 2,并在不破坏 400 单位的宽度约束的情况下使视图尽可能宽。

您的视图需要其他约束来确定其高度和垂直位置。



【讨论】:

以上是关于不同设备宽度的不同尺寸和视图对齐方式的主要内容,如果未能解决你的问题,请参考以下文章

如何在列表视图中以不同方式对齐标签

文本对齐在两个相同的 div 上的工作方式不同?

Xcode Storyboard 图像大小

如何在android中根据上面的imageview对齐textview

iPhone 5 和 4 上未对齐的自定义导航视图

4. css弹性盒子模型