在iOS上重新启用镜像

时间:2014-11-10 13:18:12

标签: ios airplay

在我的iOS应用程序中,我需要在外部显示器上显示自定义内容(使用AirPlay)以及在电视上镜像某些屏幕。 为了呈现自定义内容,我使用Multiple Display Programming Guide for iOS中的代码并且效果很好:我的iPad处于镜像状态。 AirPlay模式我可以在电视上显示一些内容。但是,文件说6

  

要在显示唯一内容后重新启用镜像,只需从相应的屏幕对象中删除您创建的窗口。

这部分根本不起作用。我只是无法破坏我用来在外部屏幕上显示内容的窗口。这是代码:

- (void) destroySecondWindow{
    if (secondWindow){
        for( UIView* view in secondWindow.subviews ){
            [view removeFromSuperview];
        }        

        secondWindow.backgroundColor = [UIColor clearColor];
        secondWindow.hidden = YES;

        // Hide and then delete the window.
        [secondWindow removeFromSuperview];
        secondWindow = nil;

    }
}

只有当一个特定的视图控制器可见时才应显示唯一内容,我试图破坏外部窗口,如下所示:

 - (void) viewWillDisappear:(BOOL)animated{
     [self destroySecondWindow];
 }

以下是我创建第二个窗口的方法:

- (void) createSecondWindowForScreen:(UIScreen*)screen{
    if( screen == nil || secondWindow != nil ){
        return;
    }

    CGRect        screenBounds = screen.bounds;

    secondWindow = [[UIWindow alloc] initWithFrame:screenBounds];
    secondWindow.backgroundColor = [UIColor blueColor];
    secondWindow.screen = screen;

    [secondWindow setHidden:NO];
}

所以问题是:在电视上显示独特内容后,是否有人知道如何重新启用屏幕镜像?

提前致谢!

0 个答案:

没有答案