如何从纵向视图打开横向视图

Posted

技术标签:

【中文标题】如何从纵向视图打开横向视图【英文标题】:how to open a landscape view from a portrait view 【发布时间】:2011-05-04 10:24:28 【问题描述】:

我有一个显示图像库的纵向视图,单击图像应以横向视图打开它以进行编辑。现在我知道我可以手动将新视图旋转 90 度以使其“看起来”像在风景中,但没有合适的解决方案吗?例如不知何故我可以强制设备进入横向模式?

【问题讨论】:

【参考方案1】:

我不得不手动轮换我的观点,或者至少我的发现表明了这一点。所以这就是我现在正在做的事情:

以纵向模式显示第一个视图。 当用户转到下一个视图时,我手动对其应用变换以将其旋转 PI/2 弧度并设置其框架和中心属性。

【讨论】:

【参考方案2】:

推送一个配置为仅支持横向模式的模态视图控制器。

【讨论】:

实际上,我无法推送,我有一个自定义控制器,可以根据需要替换视图。所以基本上没有新的视图控制器被推送,它是一个具有不同视图的视图控制器。 另外,这仅适用于被推送的第一个视图控制器(或根控制器)。如果您希望第一个视图控制器是纵向的,而下一个是横向的,则它不起作用。猜测手动旋转是我唯一的选择。【参考方案3】:

要强制设备进入横向模式,您可以添加

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation return (interfaceOrientation == UIInterfaceOrientationLandscapeRight);

将此添加到要以横向显示的视图应该会使视图进入横向模式...

【讨论】:

查看UIView 的文档,没有shouldAutorotateToInterfaceOrientation 方法,如果您正在谈论在UIViewController 中覆盖它,我已经在对Andrew 的回复的评论中提到它除非视图控制器被推送,否则不起作用。 不知道为什么UIView没有这样的方法时你得到了赞成票

以上是关于如何从纵向视图打开横向视图的主要内容,如果未能解决你的问题,请参考以下文章

如何将视图从纵向模式旋转到横向模式

如何在 iPad 的 UiSplitviewcontroller 中显示主视图

Android:如何在设置图像视图时检测从图库中选择的图像方向(纵向或横向)?

以横向模式打开视图[重复]

如何更改纵向模式

Iphone:无法从我的横向视图切换回纵向视图