Pregunta

Estoy tratando de admitir la pantalla externa en mi aplicación iOS sin usar ningún archivo .xib.

en este momento mi código contiene esto:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ 
    if ([[UIScreen screens] count] > 1){
        externalScreen = [[UIScreen screens] objectAtIndex:1];
        UIScreenMode *current = [[[[UIScreen screens]objectAtIndex:1]availableModes]objectAtIndex:0];
        externalScreen.currentMode = current;
        externalWindow = [[UIWindow alloc] initWithFrame:[externalScreen bounds]];
        externalWindow.screen = externalScreen;
        externalWindow.clipsToBounds = YES;

        extController = [[ExternalController alloc] init];
        [externalWindow addSubview:extController.view];
        [externalWindow makeKeyAndVisible];
    }
    self.window = [[UIWindow alloc] initWithFrame:[[[UIScreen screens] objectAtIndex:0] bounds]];

    mainController = [[ViewController alloc] init];
    [self.window addSubview:mainController.view];
    self.window.backgroundColor = [UIColor whiteColor];
    [self.window makeKeyAndVisible];
}

Cuando ejecuto esto, la pantalla de salida de TV se cerrará de inmediato. Si comento esta línea:

//self.window = [[UIWindow alloc] initWithFrame:[[[UIScreen screens] objectAtIndex:0] bounds]];

La pantalla de salida de TV funcionará correctamente, pero, por supuesto, no veo nada en mi pantalla de simulador.

¿Alguien tiene alguna idea de lo que debería hacer?¡Gracias de antemano!

¿Fue útil?

Solución

Puedo sugerirle probar el código fuente de la muestra TVOUT en GitHub - https://github.com/johngoodstadt/tvout.

Utiliza un código similar al suyo, pero empaquetado en una clase que puede copiar y llamar desde su propio código.

Debe resolver su problema de pantalla.Por cierto, no haría tu código tan pronto como en las 'DidfinishLaunchingWithoptions', pero más tarde en el primer controlador de visión.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top