Representación fuera de pantalla encontrada en el proyecto

prefacio

En este artículo, cómo juzgar la representación fuera de pantalla se basa en Debug Color Off-screen Rendered. Consulte este artículo sobre qué es la representación fuera de pantalla .

Ejemplo de representación fuera de pantalla

1. Configure las esquinas redondeadas de UIImageView para activar las condiciones de representación fuera de la pantalla:

  • Asigne un valor a la cornerRadiuspropiedad .
  • masksToBoundsa SÍ.
  • Llame para configurar la imagen setImagepara imageView.

Las condiciones anteriores son indispensables.

Ejemplo de código:

self.imageView.layer.cornerRadius = 20;
self.imageView.layer.masksToBounds = YES;
[self.imageView setImage:[UIImage imageNamed:@"123"]];
复制代码

Captura de pantalla 2022-03-29 PM 3.36.42.png

Cabe señalar que la simple modificación de cornerRadius y masksToBounds no provocará una representación fuera de pantalla.

2. Dibuja una sombra para la vista.

Ejemplo de código:

self.grayView.layer.cornerRadius = 10;
self.grayView.layer.shadowRadius = 10;
self.grayView.layer.shadowOpacity = 0.2;
复制代码

Cuando usamos el código anterior para dibujar una sombra en la vista, provocará una representación fuera de la pantalla.

Captura de pantalla 2022-03-29 3.40.17 pm.png

Solución: Dibuje la ruta de la sombra para evitar que el sistema abra una nueva área de búfer para dibujar la ruta.

self.grayView.layer.shadowPath = [[UIBezierPath bezierPathWithRect:self.grayView.bounds] CGPath];
复制代码

De esta forma, no provocará una renderización fuera de pantalla.

Supongo que te gusta

Origin juejin.im/post/7080424600315625479
Recomendado
Clasificación