在iOS開發中,任何可見視圖都是繼承于UIView的。 繼承體系中,大部分UIView的屬性适用于其任何子類。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISM3EDM1YDM5AzMxMDM0EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
而UIView的layer屬性可以繪制UIView的各種效果。其實我們看到的View的動畫實際上也是layer在繪制。
1、繪制圓角
cornerView.layer.cornerRadius = 20;
cornerView.layer.masksToBounds = YES;
masksToBounds防止子元素溢出父視圖。
如果一個正方形要設定成圓形,代碼為:
cornerView.layer.cornerRadius = cornerView.frame.size.height/2;
cornerView.layer.masksToBounds = YES;
2、繪制邊框
borderView.layer.borderWidth = 1.0;
borderView.layer.borderColor = [UIColor blackColor].CGColor;
注意此處使用的是CGColor而不是UIColor.
3、繪制陰影
shadowView.layer.shadowColor = [UIColor redColor].CGColor;
shadowView.layer.shadowOffset = CGSizeMake(5.0, 5.0);
shadowView.layer.shadowOpacity = YES;
offset為偏移量,為正表示向frame x,y坐标增加的方向偏移。
opacity為透明度,預設為0,即表示透明的。是以我們要把opacity設定成1或者YES,表示不透明,也可以設定成0.5或者類似的值呈現半透明。
效果如下: