uiwindow横向模式问题

Posted

技术标签:

【中文标题】uiwindow横向模式问题【英文标题】:uiwindow landscape mode problem 【发布时间】:2011-02-03 13:11:24 【问题描述】:

我是一个 uiview 组件并将其添加到应用程序 uiwindow,如下所示。它在纵向模式下工作正常,但是当我进入横向模式时它不能正常工作。它认为 uiwindow 仍然感觉自己处于纵向模式,尽管不是。横屏怎么跑?

谢谢。

MyView* popupView = [[MyView alloc] initWithFrame:CGRectMake(0, 0, 320, 480) url:url 滑动类型:滑动类型 html5Flag:_html5Flag]; // 我将帧更改为 CGRectMake(0, 0,480, 320) 但不起作用

[popupView setTitle:self.currentAd.altText];
popupView.backgroundColor = [UIColor colorWithWhite:0.0 alpha:0.5]; 

UIWindow* mainWindow = (((UIWindow*) [UIApplication sharedApplication].delegate).window);   

CGPoint middleCenter = popupView.center;   
CGSize offSize = [UIScreen mainScreen].bounds.size;  

CGPoint offScreenCenter = CGPointMake(offSize.width / 2.0, offSize.height * 1.5);   

popupView.center = offScreenCenter; 
[mainWindow addSubview:popupView];    
popupView.center = middleCenter;

【问题讨论】:

【参考方案1】:

您是否认为 popupView 自动旋转?你需要在你的 UIViewController 类中实现这个方法:

- (void)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation 
    return YES;

【讨论】:

是的,我已经在上面发布代码的控制器中实现了它。但问题似乎没有旋转 uiwindow,因为我正在推动其中的视图。

以上是关于uiwindow横向模式问题的主要内容,如果未能解决你的问题,请参考以下文章

使用多个不都支持横向模式的 UIWindows 时出现问题

iOS 8 - UIWindow 方向总是纵向的

UIWindow 在仅横向应用程序中出现在纵向

UIWindow 的根视图控制器在应用启动时不会旋转到横向

自定义 UIWindows 在 iOS 8 中无法正确旋转

横向视图中的 iPhone 屏幕截图