zoukankan      html  css  js  c++  java
  • xib设置lable设置圆角和边框,颜色

    **********************************************
    2018.5.26日更新:此生在不用xib。。。
    **********************************************


    //设置圆角

    layer.cornerRadius ,注意该 key 对应 Value 的 type 应该设置为 

    layer.masksToBounds ,注意该 key 对应 Value 的 type 应该设置为 Boolean , 当右侧出现对号时为YES

    *注意*:经过测试,UILabel 必须设置设置 masksToBounds 这一键值对,才会出现圆角效果;UIButton、UIView、UIImageView 只需设置 layer.cornerRadius 这一键值对就可实现圆角效果

    /*

    layer.cornerRadius  String          10 //圆角效果

    layer.borderWidth   Number       1    //边框宽度

    layer.borderUIColor     Color   对应的颜色   //  设置边框颜色

    layer.masksToBounds            Boolean       //这个加不加都不影响,可以不加。

    #import "CALayer+MPXibConfiguration.h"
    @implementation CALayer (MPXibConfiguration)
    -(void)setBorderUIColor:(UIColor *)color
    {
      self.borderColor=color.CGColor;
    }
    -(UIColor *)borderUIColor
    {
      return [UIColor colorWithCGColor:self.borderColor];
    }
    @end

    */ 

    //设置边框颜色

    通过xib快速设置边框

    所用方法和上面所讲Xib设置圆角基本相同,唯一不同的就是设置 key Path 键值对

    设置边框需要到的Key Path:

    layer.borderWidth ,注意该 key 对应 Value 的 type 应该设置为 String

    layer.borderColor , 注意该 key 对应 Value 的 type 应该设置为 Color

    *注意*:不知道你有没有注意到 layer.borderColor 对应值得类型:Color;经常用代码进行边框设置的你,一定记得我们设置的颜色类型为CGColor,不错问题就出在了这上面,按照上述方法我们设置的边框颜色为 UIColor 类型,当然不会起作用了啊。下面就给出一种简便的解决方法,我们只需要为 CALayer 创建一个分类就可以了,具体代码如下:

    CALayer+ZZYXibBorderColor.h
    
    #import <QuartzCore/QuartzCore.h>
    @interface CALayer (ZZYXibBorderColor)
    
    @end
    
    CALayer+ZZYXibBorderColor.m
    
    #import "CALayer+ZZYXibBorderColor.h"
    #import <UIKit/UIKit.h>
    
    @implementation CALayer (ZZYXibBorderColor)
    
    - (void)setBorderColorWithUIColor:(UIColor *)color
    {
    
        self.borderColor = color.CGColor;
    }
    
    @end
  • 相关阅读:
    C#和C++除了语法上的差别外,还有什么其他的区别
    各种指针的的概览及造成原因
    批量操作Tomcat Shell脚本
    pi币pinetwork安装注册教程中文详细版【实操有效】
    Oracle分析函数
    Logger.Xml
    使用Redis / Zookeeper作为分布式锁的一些注意点
    Seata Server配置文件
    .gitignore忽略target无效
    MySql隔离级别:RU / RC / RR / S + 脏读 / 不可重复读 / 幻读 / 可重复读
  • 原文地址:https://www.cnblogs.com/coolcold/p/6879488.html
Copyright © 2011-2022 走看看