Xcode 6:按钮在所有设备上的图像视图中都停留在特定位置吗?约束?

Posted

技术标签:

【中文标题】Xcode 6:按钮在所有设备上的图像视图中都停留在特定位置吗?约束?【英文标题】:Xcode 6: Have button stay in specific place over image view on all devices? Constraints? 【发布时间】:2014-11-30 21:04:44 【问题描述】:

我仍然在使用约束和所有自动布局的窍门,我需要帮助 - 我有一个可以缩放到它所在设备的屏幕的图像视图,我需要一个按钮在特定的所有设备上的图像视图的一部分。我尝试将其居中、固定并尝试准确复制此处所做的操作:https://www.youtube.com/watch?v=G53PuA_TlXk

而且它不起作用。在将 iPhone 与 iPad 进行比较时,该按钮仍然位于不同的位置,并且它的大小变得大得离谱,而且非常小。我该怎么办?

【问题讨论】:

【参考方案1】:

您是否尝试过同时设置宽度和高度限制以使尺寸不会改变。然后你可以设置一个 left 和 top 约束来固定位置。

您确定图像视图没有在不同的设备上被拉伸吗?即使按钮在不同设备上保持固定在同一位置,这也会导致 UIView 的不同部分出现在按钮下方。

【讨论】:

是的,图像视图正在被拉伸。我已尝试设置左侧和顶部约束,但仍然无法正常工作 听起来问题涉及尝试将按钮的位置与特定 UIView 内容(跨设备移动)的位置联系起来,而不是相对于 UIView 容器边界。如果是这种情况,那么我认为您需要使用新的尺寸类别并引入特定于设备的约束。您可以使用“w:Any h:Any”工具轻松完成此操作(抱歉,忘记了它的真实名称,但它类似于 Size Class Selector)。为您需要的 iPhone 方向选择尺寸等级,设置按钮,然后将其更改为 iPad 尺寸等级并重复。 好的。一步一步地,如何准确地引入设备特定的约束?所以你点击 x:Any h:Any,然后..? x:Any h:Any 指的是 Size Classes,它们不会帮助您区分 iPhone5、6 和 6+。 好吧..所以使用尺寸等级,你不能为 iPhone 和 iPad 制作不同的布局吗?你如何制作单独的尺寸等级? @Abizern

以上是关于Xcode 6:按钮在所有设备上的图像视图中都停留在特定位置吗?约束?的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 约束问题

如何使用 Autolayout 缩放 Xcode 6 上的按钮以适应不同的屏幕尺寸?

Xcode 启动屏幕上的图像视图出现片刻然后消失

Xcode 6自动布局按钮相互重叠

iOS 和 Xcode 6:按钮上的自动布局文本缩放

Swift:Xcode 6.1.1 更改由代码块执行而不是按钮触发的视图