iOS設定圓角矩形和陰影效果

2021-08-09 05:11:13 字數 1698 閱讀 2281

1.設定圓角矩形

//

設定dropview屬性

_dropview.backgroundcolor=[[uicolor whitecolor] colorwithalphacomponent:0.8

]; _dropview.layer.cornerradius = 8

; _dropview.layer.maskstobounds = yes;//

(或者_dropview.clipstobounds=yes;)

這裡maskstobounds或者clipstobounds的設定是對父檢視設定,設定後對子檢視超出部分裁減掉(否則子檢視還是會遮住圓角)。

2.設定陰影:

_dropview.layer.shadowcolor=[[uicolor graycolor] colorwithalphacomponent:0.8

].cgcolor;

_dropview.layer.shadowoffset=cgsizemake(10,10

); _dropview.layer.shadowopacity=0.5

; _dropview.layer.shadowradius=8

;

//_dropview.layer.maskstobounds = yes;

在通過這樣的方式設定陰影時,必須把父檢視的maskstobounds屬性關掉,因為陰影設定的方式就是加offset給超出檢視部分設定顏色來實現的,一旦不讓子檢視超出,陰影也就看不出了。

3.圓角+陰影

如果上面的方法一起用,把maskstobounds開了,陰影無法顯示,關了的話其上的view又會遮住圓角。解決的方式只能是再加一層layer。

_dropview.backgroundcolor=[[uicolor whitecolor] colorwithalphacomponent:0.8

]; _dropview.layer.cornerradius = 8

; _dropview.layer.maskstobounds =yes;

calayer *sublayer=[calayer layer];

cgrect fixframe=_dropview.layer.frame;

fixframe.size.width=[uiscreen mainscreen].bounds.size.width-40

; sublayer.frame=fixframe;

sublayer.cornerradius=8

; sublayer.backgroundcolor=[[uicolor graycolor] colorwithalphacomponent:0.5

].cgcolor;

sublayer.maskstobounds=no;

sublayer.shadowcolor=[uicolor graycolor].cgcolor;

sublayer.shadowoffset=cgsizemake(10,10

); sublayer.shadowopacity=0.5

; sublayer.shadowradius=8

; [self.layer insertsublayer:sublayer below:_dropview.layer];

懸浮的感覺出來了吧。

模擬陰影效果純CSS圓角矩形

專案上需要個彈出選單,要求要陰影 圓角。陰影不敢用png格式,客戶大多是使用ie6的,用濾鏡又不好控制。乾脆搞個純css的畫素圓角 陰影 模擬 吧,哈哈。思路是這樣的 bbox 如下 css.bbox bbox t1,bbox t2,bbox b1,bbox b2 bbox t1 bbox t2 b...

新增陰影和設定圓角

圓角 calayer layer theview layer layer setmaskstobounds yes layer setcornerradius theradius layer setborderwidth theborderwidth layer setbordercolor the...

iOS為UIView設定陰影效果

uiview的陰影設定主要通過uiview的layer的相關屬性來設定 陰影的顏色 im iew.layer.shadowcolor uicolor bhxyhlxtbarlackcolor cgcolor 陰影的透明度 im iew.layer.shadowopacity 0.8f 陰影的圓角 i...