UIBezierPath*path=[UIBezierPathbezierPathWithOvalInRect:CGRectMake(40,40,40,40)];这样绘制一个圆之后怎么才能把圆之外的给去掉呢?
2 回答
HUWWW
TA贡献1874条经验 获得超12个赞
CGFloatshorterSide=MIN(view.bounds.size.width,view.bounds.size.height);view.layer.cornerRadius=shorterSide/2.0f;试试calayer吧
千巷猫影
TA贡献1829条经验 获得超7个赞
通过直接设置cornerRadius,IOS会进行离屏渲染,会十分耗费CPU资源,这在UITableView中会出现界面卡顿的情况。你的思路是对的,就是通过UIBezierPath画一个圆,然后创建CAShapeLayer,CAShaperLayer*maskLayer=[CAShapeLayerlayer];maskLayer.path=bezierPath.CGPath;xxView.mask=maskLayer;这样就是一个圆了
添加回答
举报
0/150
提交
取消