ios uiimageview uiimage cgcontext

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