ios 貝塞爾曲線切割圓角的方法
ios 系統(tǒng)框架已經(jīng)給我們提供了相應(yīng)的切割圓角的方法, 但是如果在一個(gè)見(jiàn)面有很多控件切割的話會(huì)出現(xiàn)卡頓和個(gè)別不切得現(xiàn)在
/* 創(chuàng)建一個(gè)Button */ UIButton * button = [UIButton buttonWithType:(UIButtonTypeSystem)]; [button setFrame:CGRectMake(100, 100, 100, 100)]; [self addSubview:button]; /* 正廠的圓角需求處理方法 */ button.layer.cornerRadius = 10.0f; //弧度 button.layer.masksToBounds = YES; /* 貝塞爾曲線切割 */ /** * * @param UIRectCorner * 左上 UIRectCornerTopLeft = 1 << 0, 左下 UIRectCornerBottomLeft = 1 << 2, 右下 UIRectCornerBottomRight = 1 << 3, 所有角 UIRectCornerAllCorners = ~0UL * */ UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:button.bounds byRoundingCorners:UIRectCornerTopLeft | UIRectCornerBottomLeft cornerRadii:button.bounds.size]; CAShapeLayer *maskLayer = [[CAShapeLayer alloc]init]; //設(shè)置大小 maskLayer.frame = button.bounds; //設(shè)置圖形樣子 maskLayer.path = maskPath.CGPath; button.layer.mask = maskLayer;
注意: 如果這里選擇兩個(gè)角 的話如果是選兩個(gè)對(duì)角線 則會(huì)切 所有角
比如:UIRectCornerTopLeft | UIRectCornerBottomRight 他就會(huì)切割所有角
當(dāng)然你也可以直接創(chuàng)建個(gè)圓角的button
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
IOS NSUserDefault 記住用戶(hù)名及密碼功能的實(shí)例代碼
這篇文章主要介紹了IOS NSUserDefault 記住用戶(hù)名及密碼功能的實(shí)現(xiàn)代碼,需要的朋友可以參考下2017-09-09iOS點(diǎn)擊推送消息跳到應(yīng)用指定頁(yè)面方法
現(xiàn)在的推送用的越來(lái)越頻繁,幾乎每個(gè)應(yīng)用都開(kāi)始用到了。這篇文章主要介紹了iOS點(diǎn)擊推送消息跳到應(yīng)用指定頁(yè)面方法,有需要的可以了解一下。2016-11-11超全的iOS各種設(shè)備信息獲取方法總結(jié)(包括iPhone8/iPhone X)
這篇文章主要給大家介紹了關(guān)于iOS各種設(shè)備信息獲取方法,iPhone8/iPhone X的后驅(qū)詳細(xì)信息也已更新,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-12-12iOS 防止按鈕多次點(diǎn)擊造成多次響應(yīng)的方法
這篇文章主要介紹了iOS 防止按鈕多次點(diǎn)擊造成多次響應(yīng)的方法的相關(guān)資料,這里對(duì)多次點(diǎn)擊造成的響應(yīng)提供了解決辦法,需要的朋友可以參考下2016-11-11深入講解iOS開(kāi)發(fā)中的UIViewController
這篇文章主要介紹了iOS開(kāi)發(fā)中的UIViewController,其中以UIViewController作為著重講解,需要的朋友可以參考下2015-09-09