离屏渲染

Posted 梦影随风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了离屏渲染相关的知识,希望对你有一定的参考价值。

1、圆角使用UIImageView装载一个圆角图片来处理。

@implementation UIImage (RoundedCorner) 

- (UIImage *)imageWithRoundedCornersAndSize:(CGSize)sizeToFit andCornerRadius:(CGFloat)radius

{

   CGRect rect = (CGRect){0.f, 0.f, sizeToFit};

   UIGraphicsBeginImageContextWithOptions(sizeToFit, NO, UIScreen.mainScreen.scale); CGContextAddPath(UIGraphicsGetCurrentContext(), [UIBezierPath bezierPathWithRoundedRect:re ct cornerRadius:radius].CGPath); CGContextClip(UIGraphicsGetCurrentContext()); [self drawInRect:rect]; UIImage *output = UIGraphicsGetImageFromCurrentImageContext (); UIGraphicsEndImageContext();

    [self drawInRect:rect];

   UIImage *output = UIGraphicsGetImageFromCurrentImageContext();

   UIGraphicsEndImageContext();

   return output;

}@end

2、设置阴影

  CALayer *shadowLayer = [CALayer layer];

  shadowLayer = [UIColor blackColor].CGColor;

  shadowLayer.shadowOpacity = 1.0;

  shadowLayer.shadowRadius = 4.0;

  shadowLayer.shadowOffset = CGSizeMake(4.0, 4.0); 

 以上可以使用shadowPath来解决,比如:
 shadowLayer.shadowPath = CGPathCreateWithRect(shadowLayer.bounds, NULL);
  开发过程中最好不要让view透明。

以上是关于离屏渲染的主要内容,如果未能解决你的问题,请参考以下文章

离屏渲染

视图(或图层)何时需要离屏渲染?

iOS沉思录UIImage圆角矩形的‘离屏渲染’和‘在屏渲染’实现方法

离屏渲染学习笔记

iOS切圆角方法解决离屏渲染问题

离屏渲染