使用Masonry 环葵,view4個(gè)圓角隨意設(shè)置

1. 給view加圓角很簡(jiǎn)單,直接用下面2句代碼邓萨。
   rectView.clipsToBounds = YES;
   rectView.layer.cornerRadius = 20;

如下圖:


奮斗的七月
2. 還可以給view4個(gè)角菊卷,任意設(shè)置圓角
UIRectCorner rectCorner = UIRectCornerTopLeft | UIRectCornerTopRight ;
UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:rectView.bounds byRoundingCorners:rectCorner cornerRadii:CGSizeMake(20, 20)];
CAShapeLayer *shapeLayer = [CAShapeLayer layer];
shapeLayer.path = path.CGPath;
rectView.layer.mask = shapeLayer;
奮斗的七月

注意:但是在使用masonry設(shè)置view后發(fā)現(xiàn)缔恳,設(shè)置任意角的圓角不起作用洁闰。

這是因?yàn)樵谑褂昧薽asonry之后,view的fream和bounds都是0渴庆,所以在設(shè)置圓角就不會(huì)起作用。

解決方法:
當(dāng)設(shè)置完控件的約束刃滓,需要調(diào)用layoutIfNeeded 函數(shù)進(jìn)行布局耸弄,然后所約束的控件才會(huì)按照約束條件,生成當(dāng)前布局相應(yīng)的frame和bounds计呈。這樣就可以利用這兩個(gè)屬性來進(jìn)行圖片圓角剪裁。

下面是我寫的一個(gè)view分類中的設(shè)置圓角方法

/**
 * setCornerRadius   給view設(shè)置圓角
 * @param value      圓角大小
 * @param rectCorner 圓角位置
 **/
- (void)setCornerRadius:(CGFloat)value addRectCorners:(UIRectCorner)rectCorner{
    
    [self layoutIfNeeded];//這句代碼很重要茁彭,不能忘了
    
    UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:self.bounds byRoundingCorners:rectCorner cornerRadii:CGSizeMake(value, value)];
    CAShapeLayer *shapeLayer = [CAShapeLayer layer];
    shapeLayer.frame = self.bounds;
    shapeLayer.path = path.CGPath;
    self.layer.mask = shapeLayer;
  
}
下面附上關(guān)于autolayout更新幾個(gè)方法的區(qū)別:
setNeedsLayout:告知頁面需要更新扶歪,但是不會(huì)立刻開始更新。執(zhí)行后會(huì)立刻調(diào)用layoutSubviews。
layoutIfNeeded:告知頁面布局立刻更新年枕。所以一般都會(huì)和setNeedsLayout一起使用乎完。如果希望立刻生成新的frame需要調(diào)用此方法,利用這點(diǎn)一般布局動(dòng)畫可以在更新布局后直接使用這個(gè)方法讓動(dòng)畫生效树姨。
layoutSubviews:系統(tǒng)重寫布局
setNeedsUpdateConstraints:告知需要更新約束,但是不會(huì)立刻開始
updateConstraintsIfNeeded:告知立刻更新約束
updateConstraints:系統(tǒng)更新約束
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末典格,一起剝皮案震驚了整個(gè)濱河市台丛,隨后出現(xiàn)的幾起案子砾肺,更是在濱河造成了極大的恐慌,老刑警劉巖变汪,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異实胸,居然都是意外死亡番官,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門徘熔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人讶凉,你說我怎么就攤上這事山孔。” “怎么了台颠?”我有些...
    開封第一講書人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)譬挚。 經(jīng)常有香客問我,道長(zhǎng)减宣,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任贼邓,我火速辦了婚禮闷尿,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘填具。我一直安慰自己,他們只是感情好劳景,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開白布盟广。 她就那樣靜靜地躺著闷串,像睡著了一般筋量。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上肋拔,一...
    開封第一講書人閱讀 51,165評(píng)論 1 299
  • 那天玻募,我揣著相機(jī)與錄音,去河邊找鬼七咧。 笑死,一個(gè)胖子當(dāng)著我的面吹牛艾栋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播先较,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼闲勺!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起翘地,我...
    開封第一講書人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤癌幕,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后勺远,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡厅瞎,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年初坠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡冠跷,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出抄囚,到底是詐尸還是另有隱情,我是刑警寧澤幔托,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布蜂挪,位于F島的核電站,受9級(jí)特大地震影響棠涮,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜史煎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望篇梭。 院中可真熱鬧,春花似錦恬偷、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至孕暇,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間妖滔,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工沮翔, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留曲秉,地道東北人采蚀。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓承二,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親妆够。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容