Cómo implementar una UIView personalizada con cobertura de pantalla completa como UIAlertView
De manera intuitiva, este proceso se puede realizar fácilmente utilizando una UIView para hacer coincidir una imagen o un color translúcido. Sin embargo, se recomienda utilizar Quartz2D para implementar esta función. Implica la carga de materiales de imagen, lo que aún tiene un impacto en el rendimiento. El proceso de IO es relativamente caro. Pegue una implementación: -(void)drawRect: (CGRect)rect{CGContextRefcontext=UIGraphicsGetCurrentContext();CGRectcurrentBounds=self.bounds;CGGradientRefbackgroundGradient;size_tnum_locations=2;CGFloatlocations[2]={0.0, 1.0};CGFloatcomponents[8]={ 0.0, 0.0, 0.0, 0.0, //Startcolor0.0, 0.0, 0.0, 0.6}; //EndcolorCGColorSpaceRefrgbColorspace=CGColorSpaceCreateDeviceRGB(); X(límites actuales ) , CGRectGetMidY(currentBounds)); CGContextDrawRadialGradient(context, backgroundGradient, centerPoint, 0.0, centerPoint, currentBounds.size.width, kCGGradientDrawsAfterEndLocation);} Simplemente impleméntelo en drawRect de la subclase UIView.