Pregunta

Estoy tratando de crear una superposición encima de un GLKView (efectivamente un EAGLView). Soy consciente del impacto del rendimiento, pero en mi situación no es un problema, ya que la escena se detiene en el fondo, simplemente necesita permanecer visible.

He creado un UIView personalizado llamado ReaderView cuyo único código personalizado es el siguiente:

-(CALayer*)layer {
CATextLayer *textLayer = [[CATextLayer alloc] init];

// Layer settings.
[textLayer setCornerRadius:5.0f];

// Text settings.
[textLayer setFont:CGFontCreateWithFontName((CFStringRef)READING_FONT)];
[textLayer setFontSize:READING_FONT_SIZE];
[textLayer setAlignmentMode:kCAAlignmentJustified];
[textLayer setWrapped:YES];

return textLayer;
}

Luego llamé a lo siguiente en un GLKViewController:

-(void)onMyCustomEvent {
if (_readerView==nil) {
    CGRect frame = [[self view] frame];
    frame.size.width *= 0.8f;
    frame.size.height *= 0.8f;
    _readerView=[[ReaderView alloc] initWithFrame:frame];
    [_readerView setAutoresizingMask:UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight];
}
[_readerView setText:[node content]];
[[self view] addSubview:_readerView];
}

NSLog ha demostrado que se llama a este método y la vista del lector se inicializa. Sin embargo, nada se muestra en la parte superior del GLKView.

¿Alguna idea de por qué esto no funciona?

No hay solución correcta

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