欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

storyboard或者Xib给View设置边框属性(颜色,宽度,圆角)

发布时间:2025/4/14 编程问答 54 豆豆
生活随笔 收集整理的这篇文章主要介绍了 storyboard或者Xib给View设置边框属性(颜色,宽度,圆角) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

纯代码设置Button或者其他View的边框属性

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

     view.layer.borderWidth = 2.0;

    view.layer.masksToBounds = YES;

     view.layer.cornerRadius = 5.0;

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

 

以下提供自定义控件的时候,使用Xib,或者用sb来进行布局,那么这时候怎么来使用storyboard或者Xib给View设置边框属性的方法

其主要设置的方式是通过在 XIB操作栏的User Defined Runtime Attributes中通过 KEY PATH去设置当前控件的属性,具体步骤如下图所示:

设置圆角最常用的是设置圆角,边框颜色,因此需要用到的 key Path有一下几个:

  • layer.cornerRadius ,注意该 key 对应 Value 的 type 应该设置为 String/Number 
    两种类型均可(代码设置弧度为:thisViewlayer.masksToBounds = YES)
  • layer.masksToBounds ,注意该 key 对应 Value 的 type 应该设置为 Boolean , 
    当右侧出现对号时为YES(代码圆角为:thisView.layer.masksToBounds = YES)
  • layer.borderWidth ,注意该 key 对应 Value 的 type 应该设置为 String/Number 
    两种类型均可(代码设置边框宽度为:thisViewlayer.borderWidth = 2)
  • layer.borderColor , 注意该 key 对应 Value 的 type 应该设置为 
    Color(代码设置边框颜色:thisView.layer.borderColor = [UIColor 
    redColor].CGColor)
  • 其实如果你从上面一直敲下来的话: 
    你会发现只有1和2的两句代码是有效的; 
    3,4两句代码看起来并没有效果

    原因:其实是因为在设置borderColor的时候,需要接受的是一个CGColor,而在 key Path中只有Color,其实就是 UIColor,类型是不对的,因此并没有正确显示想要展现的颜色.

    因此这样的写法是有问题的. 
    所以要通过添加一个CALayer的类扩展来实现,将key Path中设置的UIColor转换成为CGColor,为边框设置颜色,实现如下:

     

     

    然后在你的分类.m文件中添加一个属性

    #import "CALayer+XibBorderColor.h"

    #import <UIKit/UIKit.h>

    @implementation CALayer (XibBorderColor)

     

    - (void)setBorderColorWithUIColor:(UIColor *)color

    {

        

        self.borderColor = color.CGColor;

    }

     

    @end

    这样以后,只需要将key Path中的layer.borderColor修改成为layer.setBorderColorWithUIColor 就可以了 添加阴影同理:

    -(void)setShadowColorWithUIColor:(UIColor *)color

    {

        self.shadowColor = color.CGColor;

    }

     

    @end

     

    转载于:https://www.cnblogs.com/aixixi/p/7599898.html

    总结

    以上是生活随笔为你收集整理的storyboard或者Xib给View设置边框属性(颜色,宽度,圆角)的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。