gpt4 book ai didi

ios - 以编程方式使用大小类

转载 作者:技术小花猫 更新时间:2023-10-29 10:15:42 26 4
gpt4 key购买 nike

我(希望)观看了所有相关的 WWDC2014 session 视频并阅读了文档,所以这个问题主要是为了证实我的怀疑,但请教育我。

我想做的是使用自动布局动画 View 。这本身不是问题。但是这些动画的端点随着不同的方向而变化。我想我可以使用大小类在旋转时自动移动 View ,但 Apple 的开发人员指南说动画必须以编程方式完成,据我所知,大小类是 Interface-Builder-only 的东西。

我的另一个想法是使用自定义布局指南,例如 IB 提供的顶部/底部指南,但它们似乎是硬编码的。

我能做的最后一件事是在监听旋转事件后手动更新约束,但这并不是什么新鲜事,而且我觉得大小类应该不仅仅可用于静态接口(interface)。我是否高估了他们的目的?

TLDR:给定一个 View 可以作为原点的两个点 A 和 B(由于动画),我如何使用大小类或类似的东西移动这两个点?

最佳答案

在深入研究文档后,我终于找到了一些有用的东西。 UIContentContainer协议(protocol)定义 willTransitionToTraitCollection(:withTransitionCoordinator:) ,并且该方法的第一个参数(UITraitCollection)包含水平和垂直尺寸类别以及一个UIUserInterfaceIdiom。 (这可用于了解应用程序是在 iPhone 还是 iPad 上运行,尽管大多数情况下都应使用尺寸等级)。

此外,由于 iOS 8 在横向 View 中隐藏了状态栏,traitCollectionDidChange(previousTraitCollection:)是更改发生后调用的相应方法,因此 UIApplication.sharedApplication().statusBarHidden 的值调用此方法时已更改。可用于 UIScrollViewcontentInset例如。

最后,如果你需要精确的屏幕尺寸(当然是点数,但上面提到的特征集合也知道像素密度),有 viewWillTransitionToSize(:withTransitionCoordinator:) .

希望这对其他人也有帮助。

关于ios - 以编程方式使用大小类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25466554/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com