ios - 当应用程序进入后台时,iOS 显示的图像在纵向模式下显示倒置

标签 ios objective-c iphone xcode ios8

我正在构建一个仅限横向的 iOS 应用程序。当我的应用程序进入后台时,iOS 在多任务应用程序列表中显示的图像看起来很乱。它以纵向模式颠倒显示横向图像。

我没有在 applicationWillResignActiveapplicationWillEnterForeground 中做任何具体的事情。

这是一张显示问题的图片。

Screenshot showing the list of apps running currently

通过在常规属性和 Info.plist 文件中设置这些,我只允许我的应用程序使用横向模式,如下所示:

App's General properties showing Device Orientation locked to Landscape only

Info.plist 文件:

Info.plist file showing the supported orientations for the app

看起来确实是第三方广告库之一造成了困惑。该问题不会出现在同一应用的无广告版本中。我能做些什么来防止第三方库造成这种困惑吗?

因此,我使用 iAd 和 AdMob 以及适配器来支持中介(以支持 InMobi、MobFox 和 Millennial Media)。

我能做些什么来解决这个问题吗?

最佳答案

解决方法是从 applicationWillResignActive 的 super View 中删除广告,然后在 applicationDidBecomeActive 中重新添加它(最好使用 NSNotifications)。

所以删除它看起来像这样:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
    [self.adBanner removeFromSuperview];
}

并添加它:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
    [self.view addSubview:self.adBanner];
    [self.view addConstraints:@[self.adXConstraint, self.adYConstraint]];
}

关于ios - 当应用程序进入后台时,iOS 显示的图像在纵向模式下显示倒置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26910639/

相关文章:

iphone - 如何从 Storyboard中的事件处理程序跳转到代码

ios - UICollectionView.reloadData() 更改单元格顺序 | iOS swift

iphone - ScrollView 图像向左滚动后是否从内存中删除?

ios - OS X 核心绑定(bind)在使用 Storyboard 时不保存核心数据

ios - 在 iOS 中创建消息屏幕

objective-c - 使用 UICollectionViewFlowLayout 时在 UICollectionViewCell 的边界外绘图

iphone - 如何使同一个 UIWebView 从不同的本地 .html 文件获取数据?

iphone - 如何让ui始终响应并进行后台更新?

objective-c - 启动模态视图 Controller 来解决选项卡栏和导航 VC 的方向 "lock"?

iPhone 分配和释放