Как я могу повторно включить зеркалирование приложений в своем приложении iPad после того, как я использую внешний дисплей для отображения уникального контента? - PullRequest
1 голос
/ 11 июля 2011

В моем приложении я создаю вторичное окно и добавляю к нему подпредставление, чтобы основной экран (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;


    }

Ответы [ 2 ]

0 голосов
/ 17 июня 2014

Для меня просто установка моего второго окна на ноль не сработала.Комбинация следующего кода сделала свое дело.Во-первых, перезагрузите второе окно, во-вторых, переназначьте основной экран, чтобы он снова работал с касаниями.

// 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];
0 голосов
/ 11 декабря 2012

Просто удалите окно.Чем зеркальное отражение снова становится активным.

secondWindow = nil;
...