1. 程式人生 > >給控制元件新增虛線邊框(UIBezierPath)

給控制元件新增虛線邊框(UIBezierPath)

先來張效果圖

這裡寫圖片描述

/* 自定義的方法, 實際使用時的傳入引數以自己需求為準 */
- (void)addLayerWith:(UIView *)view { 
    /* 初始化一個layer */
    CAShapeLayer *border = [CAShapeLayer layer];
  /* 虛線的顏色 */
    border.strokeColor = [UIColor whiteColor].CGColor;
    /* 填充虛線內的顏色 */
    border.fillColor = nil;
    /* 貝塞爾曲線路徑 */
    border.path = [UIBezierPath bezierPathWithRect:CGRectMake(4
, 4, view.frame.size.width- 8, view.frame.size.height - 8)].CGPath; /* 虛線寬度 */ border.lineWidth = 0.7f; //border.frame = view.bounds; /* 這個因為給了路徑, 而且用的約束給的控制元件尺寸, 所以沒什麼效果 */ /* 官方API註釋:The cap style used when stroking the path. Options are `butt', `round' * and `square'. Defaults to `butt'. */
/* 意思是沿路徑畫帽時的樣式 有三種 屁股 ; 圓; 廣場 ,我沒感覺有啥區別 可以自己試一下*/ border.lineCap = @"square"; /* 虛線的每個點長 和 兩個點之間的空隙 */ border.lineDashPattern = @[@3, @2]; /* 新增到你的控制元件上 */ [view.layer addSublayer:border]; }