Así que, como dice el título, tengo un hdmi en el iPad y un observador registrado para las conexiones de pantalla, al conectarse el usuario elige la res y una vista es salida.IOS - La salida externa (hdmi) llena solo la mitad de la pantalla excepto cuando se codifica la vista manualmente
Sin embargo, si cargo una vista desde una punta, o incluso desde un controlador de vista programática, el ipad muestra una vista horizontal en vertical (sí, ambas situaciones se configuran en horizontal).
I.e.
ExternalViewController *ex = [[ExternalViewController alloc] init];
[externalWindow setRootViewController:ex];
hace esto:
Si creo la propia vista mediante programación. de este modo:
UIView *test = [[UIView alloc] initWithFrame:[externalScreen applicationFrame]];
[test setBackgroundColor:[UIColor whiteColor]];
UILabel *msgLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 40, 100, 30)];
msgLabel.text = @"External!";
[test addSubview:msgLabel];
Se ejecuta como una forma de sueño mágico:
Sin embargo quiero que el viewcontroller para cargar (y funciona!) así que, stackoverflow, te pido. ¿Alguien ha encontrado esto antes?
EDITAR: No hace falta decir que las respuestas sensuales comunes no reciben una recompensa, estoy buscando una solución, no una solución. Con mi cerebro limitado, todo lo que puedo hacer es crear un método que cree una vista basada en sus entradas y lo agregue como una subvista del monitor externo, ¡está claro que se trata de una solución de hackeo por lo que se aprecia una solución! ¡Gracias!
EDIT:
-(id)initWithFrame:(CGRect)_rect
{
rect = _rect;
if (self = [super init])
{
externalView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"105.png"]];
externalView.alpha = 0.0;
[externalView setFrame:rect];
[externalView setBackgroundColor:[UIColor yellowColor]];
self.view = [[UIView alloc] initWithFrame:rect];
self.view.backgroundColor = [UIColor whiteColor];
return self;
}
}
- (void)loadView
{
self.view = [[UIView alloc] initWithFrame:rect];
self.view.backgroundColor = [UIColor blackColor];
[self.view addSubview:externalView];
}
Conforme a lo solicitado, esto es como yo estoy cargando la viewcontroller, la inicialización con el tamaño de la pantalla externa. Gracias
¿La "vista del paisaje en el retrato" está truncada o girada? Quiero decir, si agrega una etiqueta como en su segundo ejemplo, ¿aparece esto en la esquina superior izquierda de la pantalla o en la esquina inferior izquierda en un ángulo de 90 grados? – jrturton
Lo siento, debería haber explicado. Cuando ve la vista en la mitad de la pantalla, es horizontal pero girada. Entonces, si agrego una etiqueta, la muestra rotada con el texto de abajo hacia arriba. –
¿Podría incluir código del método 'loadView' de su controlador de vista 'nibless', que muestra cómo está creando las vistas, de dónde obtiene las dimensiones para la pantalla externa, etc.? – jrturton