把UIView切成任意形状

VFB组件:Shape控件(形状) 显示各种形状的控件,是虚拟控件,即直接画在窗口上,而不是子窗口模式的真控件。 有12种显示选择,当然不排除以后新增更多的 多种填充方式,和线条 颜色还可以设置透明度 可以和其它虚拟控件叠加透明度效果 事件:不需要,但提供鼠标事件 代码:修改形状、颜色等 ... 阅读详情

- (void)dwMakeBottomRoundCornerWithRadius:(CGFloat)radius
{
    CGSize size = self.frame.size;
    CAShapeLayer *shapeLayer = [CAShapeLayer layer];
    [shapeLayer setFillColor:[[UIColor whiteColor] CGColor]];
    
    CGMutablePathRef path = CGPathCreateMutable();
    CGPathMoveToPoint(path, NULL, size.width - radius, size.height);
    CGPathAddArc(path, NULL, size.width-radius, size.height-radius, radius, M_PI/2, 0.0, YES);
    CGPathAddLineToPoint(path, NULL, size.width, 0.0);
    CGPathAddLineToPoint(path, NULL, 0.0, 0.0);
    CGPathAddLineToPoint(path, NULL, 0.0, size.height - radius);
    CGPathAddArc(path, NULL, radius, size.height - radius, radius, M_PI, M_PI/2, YES);
    CGPathCloseSubpath(path);
    [shapeLayer setPath:path];
    CFRelease(path);
    self.layer.mask = shapeLayer;//layer的mask,顾名思义,是种位掩蔽,在shapeLayer的填充区域中,alpha值不为零的部分,self会被绘制;alpha值为零的部分,self不会被绘制,甚至不会响应touch
}

- (id)initWithFrame:(CGRect)frame
{
    if (self = [super initWithFrame:frame]) {
        [self dwMakeBottomRoundCornerWithRadius:3.0];
    }
}

这样就能切出一个只有下半部圆角的View,更厉害的是,切去的部分不响应用户点击!

这种方法,只要稍作修改就能实现很多效果,比如一个多边形的按钮,把一张图片切成邮票。

UIView:

layer.mask:

最终绘制:


富士SC2022,C325,C328打印机扫描到网络详细教程 富士打印机SC2022,C328,C325等型号扫描到电脑教程 阅读详情

相关推荐

Cube生成定时器2触发双ADC同步采集并用DMA传输

前言 用cube生成一个用定时器触发ADC1,ADC2同步采集的程序,单片机选择的是STM32L476RGT6,用定时器2进行ADC采集触发,更改定时器2的定时周期便可以更改ADC的采样周期,ADC1和ADC2使用同步规则模式,并用DMA进行数据的传输。 STM32的ADC采样完成总共需要的时间是 ADC完成采样时间=采样周期+12个转换周期 举个例子,假如ADC的时钟是15MHz,采样周期是3个周期,3个采样周期加上12个转换周期,一共是15个周期,因为时钟是15MHz,所以完成一次ADC转换总共需要的时

一行代码的博客 4512

教你把UIView切成任意形状

http://www.dreamingwish.com/dream-2012/%E6%95%99%E4%BD%A0%E6%8A%8Auiview%E5%88%87%E6%88%90%E4%BB%BB%E6%84%8F%E5%BD%A2%E7%8A%B6.html 有时候layer.cornerRadius并不能满足需求,自己实现drawRect又太麻烦,怎么办?...

weixin_33895604的博客 389

文档信息抽取技术:从非结构化文本到结构化信息的旅程

文档信息抽取技术是一种将非结构化文本转化为结构化信息的技术。这种技术可以从各类文档中自动提取出如实体、关系和其他重要信息,并将它们转化为方便计算机进一步处理和分析的格式。

INTSIG的博客 979

iOS面试 - UIView & UILayer 的区别与联系

UIView: UIView 是 iOS 系统中界面元素的基础,所有的界面元素都继承自它; 它本身完全是由 CoreAnimation 来实现的; 它真正的绘图部分,是由一个叫 CALayer(CoreAnimation Layer)的类来管理; UIView 本身更像是一个 CALayer 的管理器,访问它的根绘图和根坐标有关的属性,例如 frame,bounds 等等, 实际上...

weixin_46024722的博客 1198

逐飞vs龙邱:英飞凌miniwiggler仿真器硬件接口差异全解析(附拆机对比图)

本文通过拆解对比逐飞与龙邱两家厂商的英飞凌miniwiggler仿真器,详细解析了其硬件接口的核心差异。重点分析了Type-C接口的取舍、DAP调试协议(SWD)的支持、电源设计(跳线帽vs拨码开关)以及工艺用料,为嵌入式开发者与智能车竞赛选手提供了清晰的选型参考和实际应用建议。

weixin_29189003的博客 112

远程桌面(RDP)共享USB设备全攻略:不止Hyper-V,你的加密狗和CH340串口也能远程用

本文详细介绍了远程桌面(RDP)共享USB设备的完整解决方案,包括加密狗和CH340串口设备的远程使用技巧。通过RemoteFX USB重定向技术,用户可以在远程会话中无缝使用本地USB设备,提升工作效率。文章涵盖企业级配置、典型设备实战案例及高级故障排除方法,是远程工作者的实用指南。

weixin_42522964的博客 332

C#设置控件形状(简单)

C#设置控件形状(简单)

qq_41171367的博客 2267

MATLAB 论文复现——含氢综合能源系统多目标最优折中分布鲁棒低碳调度

提出基于多目标决策理论和逼近理想解排序技术,构造综合考虑系统调度的经济性、低碳性和鲁棒度的多目标最优折中函数,从而建立含氢综合能源系统多目标最优折中分布鲁棒低碳调度模型,可快速准确地获得兼具经济性、低碳性和鲁棒性的含氢综合能源系统优化调度方案。[1]孙惠娟,胡紫平,彭春华,等.含氢综合能源系统多目标最优折中分布鲁棒低碳调度[J/OL].电力自动化设备,1-13[2024-07-26].https://doi.org/10.16081/j.epae.202406003.关键词: 综合能源系统;

sjr1478的博客 410

功能安全场景下Hypervisor的时空隔离与ASIL认证实践

Hypervisor是实现嵌入式系统虚拟化隔离的核心技术,其本质在于通过硬件辅助或微内核机制提供确定性的时空隔离能力。在功能安全领域,它不再仅服务于资源复用,而是承担起ASIL等级约束下的实时性、可靠性与故障可诊断性保障任务。关键技术原理涵盖Type 1架构强制要求、中断延迟≤5μs的时序硬约束、Stage-2 MMU与SMMU协同的内存空间隔离,以及Hypercall等可验证通信机制。这些能力直接支撑汽车电子、工业控制等高安全场景中多级ASIL混合部署需求,如ADAS(ASIL-B)与线控底盘(ASIL-

weixin_33924770的博客 410

【PCIe硬件】PCIe引脚PRSNT与热插拔

热插拔的基本目的是要让PCIe设备按照规定的顺序、原则,从系统中移除或插入到系统中来,并能正常的工作,且不影响系统的正常运行。事实上,PCIe“热插拔”的关键目的就是为前面面所提到的系统RAS服务的,是提升系统RAS能力的非常重要的手段!注意,这里有两个相关概念,前面我们讲的热插拔,其实是广义的“热插拔”。这里的Hot-Plug,为了方便,我们叫做PCIe热插拔,也就是我们现在及后面将要讨论的内容。

smartvxworks的博客 2800

华为OD机考双机位C卷 - 信道分配(Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 信道分配

算法大师! 453

教你把UIView切成任意形状 通过ShapeLayer

有时候layer.cornerRadius并不能满足需求,自己实现drawRect又太麻烦,怎么办? 多的不说,直接上代码:   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

飞翔的熊blabla 2016

【k8s故障处理篇】calico-node启动失败“Felix is not live: Get “http://localhost:9099/liveness” 解决办法(V1.30.3版本)

【k8s故障处理篇】calico-node启动失败“Felix is not live: Get “http://localhost:9099/liveness” 解决办法(V1.30.3版本)

jks212454的博客 1090

ios view 切上部分圆角_教你把UIView切成任意形状

http://www.dreamingwish.com/dream-2012/%E6%95%99%E4%BD%A0%E6%8A%8Auiview%E5%88%87%E6%88%90%E4%BB%BB%E6%84%8F%E5%BD%A2%E7%8A%B6.html有时候layer.cornerRadius并不能满足需求,自己实现drawRect又太麻烦,怎么办?多的不说,直接上代码:- (void)...

weixin_39652136的博客 563

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

创建不规则UIView(适用于一切UIView的子类)

有没有遇到变态的产品要求你 一个View必须是三角形、不规则形、不知道叫神马形? 你需要这个不规则UIView。 对UIView 或者其子类使用下述代码,可以“剪切”View到你在UIBezierPath 中所描述的 路径形状 使用layer当然要记得引入 QuartzCore #老鸟忽略此处,敢嘲笑我啰嗦,我就咬死你# #import 下面setMask 方法中的self

u014014449的专栏 913

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

UIView-IOS开发

UIView表示屏幕上的一块矩形区域,它在App中占有绝对重要的地位,因为IOS中几乎所有可视化控件都是UIView的子类。负责渲染区域的内容,并且响应该区域内发生的触摸事件 UIView的功能 1.管理矩形区域里的内容2.处理矩形区域中的事件3.子视图的管理 4.还能实现动画  UIView的子类也具有这些功能 下图就是视图的内层次

L.Y 4404

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

UIView UIBezierPath CGPath CAShapeLayer 等的关系

UIView UIBezierPath CGPath CAShapeLayer 等的关系 前言:推荐使用 Dash 这个软件来查看 API 文档,比 xcode 自带的 API 文档方便太多 这些东西的关系,我到现在才整明白,分享下: 需求: 比如,我们需要在一个 ViewController 的 view 中添加一个圆形的 UIView,如何做呢? 你需要知道的 UIBezierPath ...

学习笔记 737

教你做任意形状的控件

有时候layer.cornerRadius并不能满足需求,自己实现drawRect又太麻烦,怎么办? 多的不说,直接上代码:   - (void)dwMakeBottomRoundCornerWithRadius:(CGFloat)radius { CGSize size = self.frame.size; CAShapeLayer *shapeLayer = [C

Secret Island 1356

iOS为UIView添加虚线边框

欢迎到个人博客: liumh.com查看本文。本文为原创,未经允许勿转载有时候需要为UIView添加虚线描边,本文记录一种实现方式,主要是通过对UIView的根layer添加CAShapeLayer来完成。效果图如下:核心代码示例如下:CGSize screenSize = [UIScreen mainScreen].bounds.size; CGFloat viewWidth = 200; CGF

CaryaLiu的专栏 1万+

UIView 学习

UIView 学习 概述 在IOS中使用window和view来展现应用程序的内容。windows是不可见的部分但是它提供了一个基本的容器用来放置程序的视图(view)。每一个app都至少包含一个window以及一个view来展现该app的内容。UIKit和其他系统框架也提供了大量预先设计好的视图共开发人员使用。 view架构原理 在IOS中一切在屏幕上能看见的东西都离不开UIView这个

jimzhai的专栏 1597

UIView详解

UIView表示屏幕上的一块矩形区域,它在App中占有绝对重要的地位,因为IOS中几乎所有可视化控件都是UIView的子类。负责渲染区域的内容,并且响应该区域内发生的触摸事件   UIView的功能 1.管理矩形区域里的内容2.处理矩形区域中的事件3.子视图的管理 4.还能实现动画  UIView的子类也具有这些功能 下图就是视图的内层次                    

175
上一篇: Mac下装mysql
下一篇: Block介绍(一)基础
focusjava
博客等级 码龄14年 127粉丝 528原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值