目标c -我如何在我的iPad应用程序上重新启用应用程序镜像后,我使用外部显示器显示独特的内容



在我的应用程序中,我创建了一个辅助窗口并为其添加了一个子视图,这样主屏幕(ipad)和外部显示屏幕显示不同的东西。

我的问题是,我不再想要唯一的内容显示后,我怎么能重新启用默认的应用程序镜像?我试着释放我创建的窗口,也试着设置屏幕镜像屏幕属性,但它是只读的。

下面是在外部监视器上添加唯一内容的代码:

if ([[UIScreen screens] count] > 1) {
        //allocate another window
        UIScreen* secondScreen = [[UIScreen screens] objectAtIndex:1];
        CGRect screenBounds = secondScreen.bounds;
        secondWindow = [[UIWindow alloc] initWithFrame:screenBounds];
        secondWindow.screen = secondScreen;
        shareViewController.view.hidden = NO;
        //add the shareViewController's view to the external display
        shareViewController.view.frame = secondWindow.frame;
        [secondWindow addSubview:shareViewController.view];
        secondWindow.hidden = NO;

    }

对我来说,简单地将第二个窗口设置为nil是行不通的。下面的代码组合完成了这个任务。首先,重置secondWindow,其次,重新分配主屏幕,使其再次与触摸一起工作。

// Reset the second window
self.secondWindow.frame = CGRectZero;
self.secondWindow.screen = nil;
self.secondWindow = nil;
// Reassign your main screen to make it work with touches again
UIWindow *mainScreen = [[[UIApplication sharedApplication] windows] firstObject];
[mainScreen makeKeyAndVisible];

只需删除窗口。然后镜像再次激活。

secondWindow = nil;

相关内容

最新更新