Как я могу повторно включить зеркалирование приложений в своем приложении iPad после того, как я использую внешний дисплей для отображения уникального контента?
В моем приложении я создаю вторичное окно и добавляю к нему подпредставление, чтобы основной экран (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 ответа
Просто убери окно. Затем зеркальное отражение снова становится активным.
secondWindow = 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];