iOS xib下设置UILabel等控件的边框

(本文写于 2016年4月11日   xcode版本为 7.3  iOS最高版本为9.3.1)

使用xib 对UILabel 的边框进行设置

今天写东西出现了一个问题  就是xib里面对于UILabel边框的设置显示不出来,问了好久别没人理我这个小白(附上我自己提问的链接http://zhidao.baidu.com/question/1799176400788635947.html) 然后就自己摸索,果然应了那句话  当你无依无靠的时候,你就什么都会了 ,说多了都是泪,下面说怎么在xib下对UILabel等控件设置边框


我们都知道 代码里面对于边框的设置是通过控件调用layer的属性来完成的,比如:

label.layer.borderWidth = 1;
label.layer.borderColor = [[UIColor grayColor]CGColor];

在xib里面 就要使用User Defined Runtime Attritubes 通过运行时加载layer的属性,废话不多说上

看到这也有有的小伙伴就说了 妈的 layer.borderColor是CGColor 不是UIColor,如果你是这样,那么恭喜你,你比我厉害,我之前老忘大哭,所以 为了将UIColor转化为CGColor我们需要CALayer增加一个分类(category),附上增加分类的过程(我不会创建问了另外一个“大神”):

 1  command + N 


2点next出现下面的 


3  会生成这样的文件


分类创建完之后在分类里面写一个方法(******方法名一定要记住********)

- (void)setBorderColorFromUIColor:(UIColor *)color
{
    self.borderColor = color.CGColor;
}


方法写不写在.h里面都无所谓,方法写完之后

User Defined Runtime Attritubes  里面keyPath 改为 layer.borderColorFromUIColor 就可以(*****layer打点调用的方法一定要和分类里面的方法名一致,不能写为layer.borderColorWithUIColor什么的*****)到这里就解决了UILabel在xib里面设置边框的问题,下面总结一下:

1,xib  中User Defined Runtime Attritubes 里面只能提供UIColor 所以要在CALayer写一个分类使UIColor转化为CGColor

2,分类写好之后,xib  中User Defined Runtime Attritubes 的keyPath layer调用的方法要和分类中UIColor转化为CGColor 的方法名一样


3 就这些  哈哈哈哈哈   今天又加班



  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值