繁体   English   中英

当ViewController在iOS6 / iOS7中锁定为人像时旋转视图

[英]Rotation for view when viewcontroller locked to portrait in ios6/ios7

我有一个视图控制器,类似于facebook的状态供稿vc,它看起来像是纵向的。 当点击图像时,vc创建一个自定义的“完整图像视图”并将其添加到超级视图中。 在将视图控制器锁定为纵向模式的同时,我仍然希望用户能够旋转设备以在横向模式下查看图像。.当关闭“全图视图”时,自定义视图会将自己从超级视图中删除,因为我想将vc视图锁定为纵向。

底线,我希望将vc锁定为纵向,但让用户可以选择在两个方向上查看完整图像。

当我们谈论方向时,它们是图片中的两件事:

  1. 设备方向
  2. 界面方向

仅通过名称可以清楚地看到,设备方向告诉您设备位于哪个方向,而接口方向告诉您应用程序以其接口呈现哪个方向。

“我希望将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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM