iPad的纵横比问题?

Posted

技术标签:

【中文标题】iPad的纵横比问题?【英文标题】:Aspect ratio issue with iPad? 【发布时间】:2016-02-22 05:37:20 【问题描述】:

我在屏幕中心添加了一个大图像。我对图像进行了以下限制。

居中水平 顶部空间 与自身的纵横比 - 与超级视图的纵横比

我在该图像的顶部添加了一个视图,该视图具有约束

视野开阔 视图顶部空间 来自自身的纵横比 来自超级视图的纵横比

我希望我的视图与 5s 上的位置相同,因此它在图像上的位置应该与 iPad 上的位置相同。 我做了一个这样的逻辑

    float aspect_ratio_top=157.0/568.0;
    float aspect_ratio_width=81.0/320.0;

    float constant_top=self.view.frame.size.height*aspect_ratio_top;
    float constant_leading=self.view.frame.size.width*aspect_ratio_width;

    self.nslc_mainFrame_top.constant=constant_top;
    self.nslc_mainFrame_leading.constant=constant_leading;

这里 157.0 是顶部的约束值,568.0 是 iPhone5 的高度。 这里 81.0 是左侧的约束值,320.0 是 iPhone5 的宽度。

这在 iPhone6 plus 上效果很好,但在 iPad 上宽度限制值不正确。我需要添加更多值以适应宽度限制。请告诉我解决方案?

【问题讨论】:

【参考方案1】:

你可以为 superview 设置相等的宽度并设置乘数(如 0.9 或 0.75),因此 view(imageView)width 将为每个 superview 设置 s。如果 superview 100 和 multiplier 是 0.75 那么 imageView 宽度将为 75。

你还可以为 iPhone 和 iPad 设置不同的乘数

【讨论】:

但是通过这种方式,所有设备的高度和宽度比都不同。我想知道我的逻辑有什么问题。为什么它在 iPad 上失败我知道 iPad 的高度/宽度比是不同的来自所有其他设备。

以上是关于iPad的纵横比问题?的主要内容,如果未能解决你的问题,请参考以下文章

为啥传感器尺寸的纵横比和图像分辨率的纵横比不同?

Iphone X 的纵横比问题

使用 flexbox 并保持 1:1 的纵横比,即使内容大小不同

以视频的纵横比在纹理视图上播放视频

计算所有尺寸 iphone 的纵横比

确保元素保持指定的纵横比