xcode直接給xib伶唯,sb內(nèi)控件添加圓角等屬性

純代碼設(shè)置Button或者其他View的邊框?qū)傩?/p>

例: UIView* view = [[UIView alloc]init];

     view.layer.borderWidth = 2.0;

    view.layer.masksToBounds = YES;

     view.layer.cornerRadius = 5.0;

     view.layer.borderColor = [UIColorredColor].CGColor;

以下提供自定義控件的時(shí)候,使用Xib,或者用sb來進(jìn)行布局,那么這時(shí)候怎么來使用storyboard或者Xib給View設(shè)置邊框?qū)傩缘姆椒?/p>

其主要設(shè)置的方式是通過在 XIB操作欄的User Defined Runtime Attributes中通過 KEY PATH去設(shè)置當(dāng)前控件的屬性,具體步驟如下圖所示:

位置.png

設(shè)置圓角最常用的是設(shè)置圓角,邊框顏色,因此需要用到的 key Path有一下幾個(gè):

  1. layer.cornerRadius 蹬音,注意該 key 對(duì)應(yīng) Value 的 type 應(yīng)該設(shè)置為 String/Number
    兩種類型均可(代碼設(shè)置弧度為:thisViewlayer.masksToBounds = YES)
  2. layer.masksToBounds ,注意該 key 對(duì)應(yīng) Value 的 type 應(yīng)該設(shè)置為 Boolean ,
    當(dāng)右側(cè)出現(xiàn)對(duì)號(hào)時(shí)為YES(代碼圓角為:thisView.layer.masksToBounds = YES)
  3. layer.borderWidth ,注意該 key 對(duì)應(yīng) Value 的 type 應(yīng)該設(shè)置為 String/Number
    兩種類型均可(代碼設(shè)置邊框?qū)挾葹?thisViewlayer.borderWidth = 2)
  4. layer.borderColor , 注意該 key 對(duì)應(yīng) Value 的 type 應(yīng)該設(shè)置為
    Color(代碼設(shè)置邊框顏色:thisView.layer.borderColor = [UIColor
    redColor].CGColor)

其實(shí)如果你從上面一直敲下來的話:
你會(huì)發(fā)現(xiàn)只有1和2的兩句代碼是有效的;
3,4兩句代碼看起來并沒有效果

原因:其實(shí)是因?yàn)樵谠O(shè)置borderColor的時(shí)候,需要接受的是一個(gè)CGColor,而在 key Path中只有Color,其實(shí)就是 UIColor,類型是不對(duì)的,因此并沒有正確顯示想要展現(xiàn)的顏色.

因此這樣的寫法是有問題的.
所以要通過添加一個(gè)CALayer的類擴(kuò)展來實(shí)現(xiàn),將key Path中設(shè)置的UIColor轉(zhuǎn)換成為CGColor,為邊框設(shè)置顏色,實(shí)現(xiàn)如下:

技術(shù)分享
技術(shù)分享

然后在你的分類.m文件中添加一個(gè)屬性

//
//  Created by xiaoyige on 2019/8/26.
//  Copyright ? 2019

#import "CALayer+ZLCALayer_XibBorderColor_h.h"
#import <UIKit/UIKit.h>
@interface CALayer ()
@property (nonatomic,strong) UIColor *borderColorWithUIColor;
@property (nonatomic,strong) UIColor *shadowColorWithUIColor;
@end
@implementation CALayer (ZLCALayer_XibBorderColor_h)
//keyPath中的keyt為borderColorWithUIColor
- (void)setBorderColorWithUIColor:(UIColor *)color {
    self.borderColor = color.CGColor;
}
//keyPath中的keyt為shadowColorWithUIColor
-(void)setShadowColorWithUIColor:(UIColor *)color {
    self.shadowColor = color.CGColor;
}


@end

這樣以后,只需要將key Path中的layer.borderColor修改成為layer.borderColorWithUIColor 就可以了

添加陰影同理:

-(void)setShadowColorWithUIColor:(UIColor *)color {
self.shadowColor = color.CGColor;

}
只需要將key Path中的layer.shadow修改成為layer.shadowColorWithUIColor 就可以了親測有效
不用寫無用的廢物代碼了

keyPath添加圓角邊框等屬性.jpeg

常用

layer.masksToBounds
layer.cornerRadius
layer.borderWidth
layer.borderColorWithUIColor
layer.shadowColorWithUIColor

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子庶骄,更是在濱河造成了極大的恐慌,老刑警劉巖践磅,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件单刁,死亡現(xiàn)場離奇詭異,居然都是意外死亡府适,警方通過查閱死者的電腦和手機(jī)羔飞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門肺樟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人逻淌,你說我怎么就攤上這事么伯。” “怎么了卡儒?”我有些...
    開封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵蹦狂,是天一觀的道長。 經(jīng)常有香客問我朋贬,道長,這世上最難降的妖魔是什么窜骄? 我笑而不...
    開封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任锦募,我火速辦了婚禮,結(jié)果婚禮上邻遏,老公的妹妹穿的比我還像新娘糠亩。我一直安慰自己,他們只是感情好准验,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開白布赎线。 她就那樣靜靜地躺著,像睡著了一般糊饱。 火紅的嫁衣襯著肌膚如雪垂寥。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天另锋,我揣著相機(jī)與錄音滞项,去河邊找鬼。 笑死夭坪,一個(gè)胖子當(dāng)著我的面吹牛文判,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播室梅,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼戏仓,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了亡鼠?” 一聲冷哼從身側(cè)響起赏殃,我...
    開封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎拆宛,沒想到半個(gè)月后嗓奢,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡浑厚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年股耽,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了根盒。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡物蝙,死狀恐怖炎滞,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情诬乞,我是刑警寧澤册赛,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站震嫉,受9級(jí)特大地震影響森瘪,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜票堵,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一扼睬、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧悴势,春花似錦窗宇、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至捧存,卻和暖如春粪躬,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背昔穴。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來泰國打工短蜕, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人傻咖。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓朋魔,卻偏偏與公主長得像,于是被迫代替她去往敵國和親卿操。 傳聞我的和親對(duì)象是個(gè)殘疾皇子警检,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355