在所有设备上对屏幕外的约束进行动画处理

Posted

技术标签:

【中文标题】在所有设备上对屏幕外的约束进行动画处理【英文标题】:animating constraints out of screen on all devices 【发布时间】:2015-08-17 07:19:58 【问题描述】:

我正在为约束设置动画,以便视图离开屏幕。我这样设置约束:

        upperLeadingConstraint.constant = -344
        upperTrailingConstraint.constant = 356

upperLeadingConstraint 设置到屏幕左边缘的距离,upperTrailingConstraint 设置到屏幕右边缘的距离。

这适用于 iphone6+ 等通用显示器吗?或者为了安全起见,我应该把常数变大一点吗?感谢您的帮助

【问题讨论】:

【参考方案1】:

这取决于你如何设置这些约束,我的意思是对哪些元素。要获得您问题的答案,您必须提供更多详细信息,或者您可以自行计算元素在其他设备上的位置。

【讨论】:

@krompir2 你可以使用类似 upperLeadingConstraint.constant = -self.view.frame.size.width; upperTrailingConstraint.constant = self.view.frame.size.width。如果视图与 self.view 具有相同的宽度,这将起作用。如果它位于一些偏移量,则必须将它们添加到新值。例如 upperLeadingConstraint.constant = -self.view.frame.size.width -/+ 10 (取决于你有什么布局)。与第二个相同。希望它会有所帮助

以上是关于在所有设备上对屏幕外的约束进行动画处理的主要内容,如果未能解决你的问题,请参考以下文章

最初不在屏幕上的动画和视图的自动布局?

如何在所有 iOS 设备上设置自动布局?

设备旋转时是不是有动画自动布局(约束)?

xml中属性动画的相对翻译

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

iOS 如何设置约束以适应设备屏幕?