在iOS開發中,任何可見視圖都是繼承於UIView的。 繼承體系中,大部分UIView的屬性適用於其任何孩子。
而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或者類似的值呈現半透明。