ios 贝塞尔曲线切割圆角的方法
ios系统框架已经给我们提供了相应的切割圆角的方法,但是如果在一个见面有很多控件切割的话会出现卡顿和个别不切得现在
/*创建一个Button*/ UIButton*button=[UIButtonbuttonWithType:(UIButtonTypeSystem)]; [buttonsetFrame:CGRectMake(100,100,100,100)]; [selfaddSubview:button]; /*正厂的圆角需求处理方法*/ button.layer.cornerRadius=10.0f;//弧度 button.layer.masksToBounds=YES; /*贝塞尔曲线切割*/ /** * *@paramUIRectCorner *左上UIRectCornerTopLeft=1<<0, 左下UIRectCornerBottomLeft=1<<2, 右下UIRectCornerBottomRight=1<<3, 所有角UIRectCornerAllCorners=~0UL * */ UIBezierPath*maskPath=[UIBezierPathbezierPathWithRoundedRect:button.boundsbyRoundingCorners:UIRectCornerTopLeft|UIRectCornerBottomLeftcornerRadii:button.bounds.size]; CAShapeLayer*maskLayer=[[CAShapeLayeralloc]init]; //设置大小 maskLayer.frame=button.bounds; //设置图形样子 maskLayer.path=maskPath.CGPath; button.layer.mask=maskLayer;
注意:如果这里选择两个角的话如果是选两个对角线则会切所有角
比如:UIRectCornerTopLeft|UIRectCornerBottomRight他就会切割所有角
当然你也可以直接创建个圆角的button
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。