旋转UIWebView:强制横屏

3
我想创建一个视图控制器,可以在纵向和横向两个方向上显示。目前该应用程序仅支持纵向。在您考虑将其标记为重复内容之前(我已经在这里尝试了很多搜索),请听我说:
该应用程序从我们的Web服务器显示一组地图,URL不会更改,但内容每天都会更改(始终是png、pdf或mp4扩展名)。这些产品通过两种不同的方式访问:
Tabviewcont> Navviewcont> viewcont> viewcont(显示Web内容的视图控制器) Tabviewcont> navviewcont> collviewcont> collviewcont> viewcont(显示Web内容的视图控制器)
我尝试过以下方法:通过创建新的导航控制器子类并将webviewcont设置为根,并覆盖方法,使用CGAFFINETRANSFORM,在每个视图控制器、UIImageView中覆盖supportedorientations和preferredorientations(因为我忘记了我有一个mp4而遇到困难)。
我想要实现的目标是:Webviewcontrollers能够在纵向或横向旋转,而其他视图控制器仍保持纵向。
我欢迎任何建议。我看了Facebook,它似乎将Feed显示锁定在纵向,但是当您从Feed中单击图像时,可以在纵向或横向查看它。

你看过这个吗:https://dev59.com/72cs5IYBdhLWcg3w-YhD - Nate Lee
1个回答

0

实现此功能最流畅、最符合框架的方式是以模态方式呈现您希望旋转的视图控制器,并在 - (NSUInteger)supportedInterfaceOrientations 中传递支持方向的正确掩码。这就是 Facebook 实现此功能的方法。


你好,Leo。我已经阅读了您在此事上的其他答案……您的解决方案到目前为止让我走得最远。然而,我注意到您慷慨提供的通过mediafire的示例中,您的第一个控制器能够在纵向或横向旋转。那是昨天的事情,我很累了……那个视图是否能够被限制只能像LNViewController2一样处于纵向方向?参考:https://dev59.com/RGUo5IYBdhLWcg3wkAHB#16022631 - jclark754
是的。实际上,在我的例子中,根堆栈取决于项目设置的旋转。因此,如果只允许横向模式,则不会旋转到纵向模式。 - Léo Natan
似乎是这种情况,我希望我可以不为这些空的导航控制器创建类。 - jclark754
不,项目设置中只需将支持的方向设置为横屏模式即可。 - Léo Natan
在您的测试项目中,第一个视图旋转(以纵向呈现但能够旋转到横向)。这是通过项目设置>纵向和两个横向选项来实现的。取消选择纵向会强制所有视图都显示为横向。我希望第一个视图仅以纵向显示,第二个视图以横向显示。 - jclark754
显示剩余4条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接