我需要处理所有 iOS 屏幕比例(3.5 英寸、4 英寸)。我没有使用autolayout
,因为我需要iOS
5.x 兼容性。
在我的应用程序中,当设备方向改变时,我需要重新组织我的按钮和图标,从纵向切换:
Logo
-
Button 1
Button 2
Button 3
到景观:
Button 1
Logo Button 2
Button 3
由于屏幕比例不同,我需要根据 Button 1 的 Y 位置调整纵向 Logo 的高度,并根据 Button 1 的 X 位置调整横向 Logo 的宽度。
为了提供流畅的动画,我想实现:
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)
并启动一个与设备的旋转动画在同一时间轴上运行的动画。问题是我的计算需要“按钮 1”的目标框架(设备旋转后的框架),而我只有其初始状态的框架。
如果我等待初始旋转完成(这是我迄今为止实现的),您会看到应用程序执行旋转然后定位,这对我来说......不满意。
因此,在一个问题中,这将给出:“有没有办法在给定特定设备方向的情况下询问 UIView 的框架?也许故事板......”
它应该可以在某个地方访问,因为 iOS 动画必须计算这些信息才能开始它的动画,对吗?