【发布时间】:2011-09-18 06:53:36
【问题描述】:
最终这样做了: Easiest way to support multiple orientations? How do I load a custom NIB when the application is in Landscape? 非常棒!
我在 Photoshop 中制作了一张图像,我想将其用作 iPad 应用程序中信息屏幕的背景。该图像还包含文本和一些图标。在图像周围我有一个绿色的边框。
我想要达到的效果是:
当用户从纵向转到横向时,我希望图像(只是框架和图标)旋转 90 度,以便图像以横向模式显示,而不是在横向模式下显示框架的纵向视图。文本和图标是解耦的(我在不同的 UIImageView 中组织了不同的图层)它们应该旋转 90 度。
我已经做的如下:
用这个方法试验了一下:
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:
并尝试这样做:
self.btnFacebook.transform = CGAffineTransformMakeRotation(1.5707964);
我认为它将 btnFacebook 属性向右旋转 90 度(如果我错了,请纠正我),因为它指定了正弧度。我似乎无法让它正常工作。这不应该将按钮围绕框架中的中心坐标旋转 90 度吗?那不会导致按钮位置发生变化(按钮是方形的)?
编辑
制作图片:
由于图像显示图像背景(其上的一些自定义图形在两个方向上看起来都不错)从纵向变为横向并旋转,因此它不会在横向中显示为纵向,因此图标与背景分离,因此它们需要也可以旋转,因为它们需要处于正确的方向(它是社交图标)。然而文本在同一个位置,它只旋转 90 度而不重新定位。
【问题讨论】:
-
确保视图层的锚点位于中心,您看到的是什么而不是预期的效果?
-
我不明白您为什么分享了一个答案,它指的是具有多种布局的解决方案。恕我直言,问题的全部意义在于只有一个布局和一个
UIInterfaceOrientation,其中一些图像或按钮可以根据UIDeviceOrientation旋转,不是吗?无论如何,这就是让我来到这里的原因,因为我想要类似于股票 iOS 相机应用程序的东西。接受的答案工作正常。
标签: iphone uiimageview cgaffinetransform