1

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

我的问题是,在我不再希望显示独特的内容后,如何重新启用默认应用镜像?我尝试只释放我创建的窗口,并尝试设置屏幕 mirroredScreen 属性,但它是只读的。

以下是在外接显示器上添加独特内容的代码:

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;


    }
4

2 回答 2

0

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

// 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];
于 2014-06-17T06:43:51.930 回答
0

只需卸下窗户。然后镜像再次激活。

secondWindow = nil;
于 2012-12-11T10:55:22.107 回答