我(希望)看了所有相关的WWDC2014会议视频并阅读了文档,所以这个问题主要是为了确认我的怀疑,但请教我.
我想做的是使用自动布局的动画视图.这本身不是问题.但这些动画的终点会随着不同的方向而变化.我以为我可以使用大小类来自动移动视图,但Apple的开发人员指南说,动画必须以编程方式完成,从我可以收集到的内容中,大小类是一个仅限Interface-Builder的东西.
另一个想法是使用自定义布局指南,如顶部/底部的IB提供,但似乎是硬编码.
我可以做的最后一件事是在听取旋转事件之后手动更新约束,但这并不是什么新鲜事,我觉得大小类不仅可以用于静态接口.我高估了他们的目的?
TLDR:给定两个A点和B点,一个视图可以源于(由于动画),我如何使用大小类或类似的东西移动两个点?
解决方法
在文档中进一步挖掘之后,我终于找到了一些有用的东西. UIContentContainer协议定义了willTransitionToTraitCollection(:withTransitionCoordinator :),该方法的第一个参数(UITraitCollection)包含水平和垂直大小的类以及UIUserInterfaceIdiom(可以用来知道应用程序是在iPhone还是iPad上运行),尽管大多数事情应该使用大小类).
另外,由于iOS 8在横向浏览中隐藏了状态栏,所以traitCollectionDidChange(previousTraitCollection :)是在发生更改后被调用的相应方法,所以当调用此方法时,UIApplication.sharedApplication().statusBarHidden的值已更改.对于UIScrollView的contentInset可以是有用的.
最后,如果你需要确切的屏幕大小(当然,上面提到的trait集合也知道像素密度),那么有viewWillTransitionToSize(:withTransitionCoordinator :).
希望这也有助于别人.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。