![](/img/trans.png)
[英]iOS6 rotation issue: make my view stick to portrait when pop back from another view controller
[英]Rotation for view when viewcontroller locked to portrait in ios6/ios7
我有一个视图控制器,类似于facebook的状态供稿vc,它看起来像是纵向的。 当点击图像时,vc创建一个自定义的“完整图像视图”并将其添加到超级视图中。 在将视图控制器锁定为纵向模式的同时,我仍然希望用户能够旋转设备以在横向模式下查看图像。.当关闭“全图视图”时,自定义视图会将自己从超级视图中删除,因为我想将vc视图锁定为纵向。
底线,我希望将vc锁定为纵向,但让用户可以选择在两个方向上查看完整图像。
当我们谈论方向时,它们是图片中的两件事:
仅通过名称可以清楚地看到,设备方向告诉您设备位于哪个方向,而接口方向告诉您应用程序以其接口呈现哪个方向。
“我希望将VC锁定为纵向模式,但允许用户选择以两个方向查看完整图像。”
这样,很明显您不想更改应用程序的界面。 当设备方向发生变化时,您想要旋转图像。
为此,您应该做的第一件事就是看看此方法beginGeneratingDeviceOrientationNotifications
编写此文件可在每次更改设备方向时获得通知[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
现在,在显示图像的viewController中,编写以下代码
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(deviceOrientationDidChange) name:UIDeviceOrientationDidChangeNotification object:nil];
在deviceOrientationDidChange
方法中,按照设备方向旋转图像。如果需要更多信息,请告诉我。
当您展示图片时:
if (UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation))
{
UIImageView.transform = CGAffineTransformMakeRotation(M_PI + M_PI_2);
}
这应该可以,但是我没有测试!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.