ios - Contexto no válido al crear UIImageView
cgcontext (4)
El simulador no distingue entre mayúsculas y minúsculas. El dispositivo distingue entre mayúsculas y minúsculas. El PNG se nombra correctamente? Tal vez es ''Iniciar sesión'' con mayúscula L.
Tengo un error cuando traté de crear un UIImageView. Mira este código:
UIImage* backgroundPanel = [[UIImage imageNamed:@"loginPanelBackground.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(90, 0, 149, 416)];
self.connexionBackgroundImgView = [[UIImageView alloc] initWithImage:backgroundPanel];
self.connexionBackgroundImgView.frame = CGRectMake(0, 0, 416, 390); // THIS LINE PROVOC THE INVALID CONTEXT
[self.connexionView insertSubview:self.connexionBackgroundImgView aboveSubview:self.connexionToCreationCompteView];
Lanza este error en el registro:
<Error>: CGContextSaveGState: invalid context 0x0
<Error>: CGContextSetBlendMode: invalid context 0x0
<Error>: CGContextSetAlpha: invalid context 0x0
<Error>: CGContextTranslateCTM: invalid context 0x0
<Error>: CGContextScaleCTM: invalid context 0x0
<Error>: CGContextGetCTM: invalid context 0x0
<Error>: CGContextSaveGState: invalid context 0x0
<Error>: CGContextClipToRect: invalid context 0x0
<Error>: CGContextDrawTiledImage: invalid context 0x0
<Error>: CGContextRestoreGState: invalid context 0x0
<Error>: CGContextGetCTM: invalid context 0x0
<Error>: CGContextSaveGState: invalid context 0x0
<Error>: CGContextClipToRect: invalid context 0x0
<Error>: CGContextDrawTiledImage: invalid context 0x0
<Error>: CGContextRestoreGState: invalid context 0x0
<Error>: CGContextGetCTM: invalid context 0x0
<Error>: CGContextSaveGState: invalid context 0x0
<Error>: CGContextClipToRect: invalid context 0x0
<Error>: CGContextDrawTiledImage: invalid context 0x0
<Error>: CGContextRestoreGState: invalid context 0x0
<Error>: CGContextRestoreGState: invalid context 0x0
Tuve este error solo en el iPad, no con el simulador, no lo entiendo ...: /
Tuve este problema hasta que descubrí que mi argumento de inserción de mayúscula a resizableImageWithCapInsets: era incorrecto: no dejaba ningún área sin tope (necesitas al menos 1x1 píxel no cubierto por un tope). Así que asegúrate de que:
(insets.left + insets.right) <ancho
y
(insets.top + insets.bottom) <altura
Todavía no puedo hacer ningún comentario debido a la baja reputación. Sin embargo, me gustaría agregar a la respuesta de neon1, que me ayudó mucho.
También debe asegurarse de que todas las inserciones sean mayores que cero.
insets.left> 0
insets.top> 0
insets.right> 0
insets.bottom> 0
Vea la respuesta aquí: ¿Cómo capturo UIImage de los contenidos completos de UITableView / UIScrollView y lo hago funcionar en un dispositivo ios
Gracias eliajf!