电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>DRCornerViewExtension渲染软件

DRCornerViewExtension渲染软件

2022-06-27 | zip | 0.16 MB | 次下载 | 免费

资料介绍

授权协议 未知
开发语言 Objective-C
操作系统 跨平台
软件类型 开源软件
所属分类 iOS代码库、 图像(Image)

软件简介

DRCornerViewExtension是一款设置圆角的方式,无离屏渲染,无mask 使用 CAShaperLayer 实现 Extension的软件。

使用 maskToBounds 和 cornerRadius 或者 mask 时 造成的离屏渲染(如下图):

 

使用 UIView+Corner 时的UIImageView

 

使用 UIView+Corner 时的UILabel

 

核心代码:

- (void)dr_cornerWithRadius:(CGFloat)radius backgroundColor:(UIColor *)bgColor {
    CGFloat width = CGRectGetWidth(self.bounds);
    CGFloat height = CGRectGetHeight(self.bounds);
    UIBezierPath * path= [UIBezierPath bezierPathWithRect:CGRectMake(0, 0, width, height)];
    CAShapeLayer *shapeLayer = [CAShapeLayer layer];
    if (radius == -1) {
        radius = MIN(width, height)/2;
    }

    [path  appendPath:[UIBezierPath bezierPathWithRoundedRect:self.bounds byRoundingCorners:UIRectCornerAllCorners cornerRadii:CGSizeMake(radius, radius)]];
    /*
     字面意思是“奇偶”。按该规则,要判断一个点是否在图形内,从该点作任意方向的一条射线,然后检测射线与图形路径的交点的数量。如果结果是奇数则认为点在内部,是偶数则认为点在外部
     */
    [path setUsesEvenOddFillRule:YES];
    shapeLayer.path = path.CGPath;
    shapeLayer.fillRule = kCAFillRuleEvenOdd;
    shapeLayer.fillColor = bgColor.CGColor;
    if ([self isKindOfClass:[UILabel class]]) {
        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
            [self.layer addSublayer:shapeLayer];
        });
        return;
    }
    [self.layer addSublayer:shapeLayer];
}
 

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1A7159和A7139射频芯片的资料免费下载
  2. 0.20 MB   |  55次下载  |  5 积分
  3. 2PIC12F629/675 数据手册免费下载
  4. 2.38 MB   |  36次下载  |  5 积分
  5. 3PIC16F716 数据手册免费下载
  6. 2.35 MB   |  18次下载  |  5 积分
  7. 4dsPIC33EDV64MC205电机控制开发板用户指南
  8. 5.78MB   |  8次下载  |  免费
  9. 5STC15系列常用寄存器汇总免费下载
  10. 1.60 MB   |  7次下载  |  5 积分
  11. 6模拟电路仿真实现
  12. 2.94MB   |  4次下载  |  免费
  13. 7PCB图绘制实例操作
  14. 2.92MB   |  2次下载  |  免费
  15. 8零死角玩转STM32F103—指南者
  16. 26.78 MB   |  1次下载  |  1 积分

本月

  1. 1ADI高性能电源管理解决方案
  2. 2.43 MB   |  452次下载  |  免费
  3. 2免费开源CC3D飞控资料(电路图&PCB源文件、BOM、
  4. 5.67 MB   |  141次下载  |  1 积分
  5. 3基于STM32单片机智能手环心率计步器体温显示设计
  6. 0.10 MB   |  137次下载  |  免费
  7. 4A7159和A7139射频芯片的资料免费下载
  8. 0.20 MB   |  55次下载  |  5 积分
  9. 5PIC12F629/675 数据手册免费下载
  10. 2.38 MB   |  36次下载  |  5 积分
  11. 6如何正确测试电源的纹波
  12. 0.36 MB   |  19次下载  |  免费
  13. 7PIC16F716 数据手册免费下载
  14. 2.35 MB   |  18次下载  |  5 积分
  15. 8Q/SQR E8-4-2024乘用车电子电器零部件及子系统EMC试验方法及要求
  16. 1.97 MB   |  8次下载  |  10 积分

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935121次下载  |  10 积分
  3. 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
  4. 1.48MB  |  420062次下载  |  10 积分
  5. 3Altium DXP2002下载入口
  6. 未知  |  233088次下载  |  10 积分
  7. 4电路仿真软件multisim 10.0免费下载
  8. 340992  |  191367次下载  |  10 积分
  9. 5十天学会AVR单片机与C语言视频教程 下载
  10. 158M  |  183335次下载  |  10 积分
  11. 6labview8.5下载
  12. 未知  |  81581次下载  |  10 积分
  13. 7Keil工具MDK-Arm免费下载
  14. 0.02 MB  |  73810次下载  |  10 积分
  15. 8LabVIEW 8.6下载
  16. 未知  |  65988次下载  |  10 积分