最近的一項(xiàng)目里使用大量的陰影效果,用的UIButton的時(shí)候就出現(xiàn)問(wèn)題了。
把UIButton的masksToBounds設(shè)成yes盲镶,此時(shí)是圓角跛璧,但是陰影會(huì)沒(méi)了;你把它設(shè)成no幕帆,圓角沒(méi)了,陰影有了。
解決思路是在按鈕與view之間加一層各薇,去實(shí)現(xiàn)一個(gè)帶圓角的陰影,這樣最后就可以達(dá)到效果君躺,注意一定要先上層再上按鈕峭判,這樣保證按鈕在層之上。
效果如下:
代碼如下:
CALayer*layer = [CALayer layer];
layer.frame = CGRectMake(跟button一樣的位置并且一樣大);
layer.backgroundColor = [UIColor blackColor].CGColor;
layer.shadowOffset = CGSizeMake(10,10);
layer.shadowOpacity = 0.7;
layer.cornerRadius = 10;
//這里self表示當(dāng)前自定義的view
[self.layer addSublayer:layer];
UIButton*button = [[UIButton alloc]initWithFrame:CGRectMake(某位置某大小)];
[self addSubview:button];
button.layer.masksToBounds=YES;
button.layer.cornerRadius=10;