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