iOS之用xib给控件设置圆角、边框效果

参考:http://www.cnblogs.com/zhun/p/5616540.html

一、xib中为各种控件设置圆角
1、通过代码的方式设置
//正方形的v1,0.5正好是圆
   v1.layer.masksToBounds = YES;
   v1.layer.cornerRadius =v1.frame.size.width*.5; 

2、通过xib快速设置圆角
  • 利用User Defined Runtime Attributes 进行设置

图片.png

  • 设置圆角需要到的Key Path:
     layer.cornerRadius ,注意该 key 对应 Value 的 type 应该设置为 String
     layer.masksToBounds ,注意该 key 对应 Value 的 type 应该设置为 Boolean , 当右侧出现对号时为YES

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


二、Xib 为控件设置边框效果
1、通过代码方式进行设置
self.myView.layer.borderColor = [UIColor redColor].CGColor;
self.myView.layer.borderWidth = 2;
2、通过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

注意此时,设置边框颜色就需要用** layer.borderColorWithUIColor**来代替 layer.borderColor
注意:当我们使用Xib设置控件圆角、边框的时候,如果将key Path写错,系统不会报错,但是运行不会实现理想的效果

有哪些控制器:
UITableViewController : 表格控制器
UIControllerViewController : 集合控制器
UINavigationController : 导航控制器
UItabbarController : 分页控制器
UIImagePickerController : 图片控制器

成功的三大原则: 1、坚持 2、不要脸 3、坚持不要脸
原文地址:https://www.cnblogs.com/xulinmei/p/7420138.html