如何通过将设备旋转到横向来激发模态视图弹出窗口?

时间:2011-01-31 19:51:57

标签: iphone objective-c cocoa-touch uiviewcontroller modalviewcontroller

我正在开发一个App,我想在用户旋转设备时显示模态视图控制器。当用户将其旋转回肖像时,它应该被忽略。在旋转过程中,不应旋转主视图控制器。

我该如何管理?

我尝试将代码放入shouldAutorotateToInterfaceOrientation:方法以显示模态视图控制器,但我总是出错。

一些想法?

2 个答案:

答案 0 :(得分:2)

在appDelegate中你可以使用

[[NSNotificationCenter defaultCenter] addObserver:self
                                        selector:@selector(didRotate:)
                                             name:UIDeviceOrientationDidChangeNotification
                                           object:nil];

并定义方法

- (void) didRotate:(NSNotification *)notification

在此方法中,获取新方向并应用或删除模态视图控制器。

shouldAutorotateToInterfaceOrientation:限制原始视图仅接受您希望它拥有的一个方向。

答案 1 :(得分:1)

您需要将此代码放在

-(void) willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration

视图控制器的方法。基本上,您将shouldAutorotateToInterfaceOrientationMethod:设置为您想要支持的任何方向(包括模态视图弹出窗口)返回TRUE。然后在列出的第一个方法中,实现模态视图控制器变为活动状态。