我有一个UIView,我想要阴影和圆角。 问题是 - 阴影需要masksToBounds = NO
,而圆角需要masksToBounds = YES
。UIView阴影和圆角
我找到的解决方案是有一个容器,它将有阴影,并添加我的UIView作为容器的子视图 - 并给它圆角。
This Works。我有阴影和圆角 - 但它不好。 阴影是矩形视图,我的图像有圆角。
我怎样才能实现对圆角的影子?
我有一个UIView,我想要阴影和圆角。 问题是 - 阴影需要masksToBounds = NO
,而圆角需要masksToBounds = YES
。UIView阴影和圆角
我找到的解决方案是有一个容器,它将有阴影,并添加我的UIView作为容器的子视图 - 并给它圆角。
This Works。我有阴影和圆角 - 但它不好。 阴影是矩形视图,我的图像有圆角。
我怎样才能实现对圆角的影子?
// border radius
[yourView.layer setCornerRadius:30.0f];
// border
[yourView.layer setBorderColor:[UIColor blackColor].CGColor];
[yourView.layer setBorderWidth:1.5f];
yourView.layer.masksToBounds=YES;
// drop shadow
[yourView.layer setShadowColor:[UIColor lightGrayColor].CGColor];
[yourView.layer setShadowOpacity:0.8];
[yourView.layer setShadowRadius:3.0];
[yourView.layer setShadowOffset:CGSizeMake(2.0, 2.0)];
这可能对你有帮助。
“masksToBounds”的价值应该是什么?是或否? – YogevSitton
检查我编辑的答案 – Iphonenew
是否需要边框?我使用的代码是 – YogevSitton
删除容器,其剪裁你的视图阴影。进口QuartzCore/QuartzCore.h
。并尝试此代码视图
#import < QuartzCore/QuartzCore.h>
...
view.layer.cornerRadius = 5.0f;
[view.layer setShadowColor:[UIColor redColor].CGColor];
[view.layer setShadowOpacity:0.7];
[view.layer setShadowRadius:5.0];
[view.layer setShadowOffset:CGSizeMake(2.0, 2.0)];
更多地了解maskToBound看到此链接
容器是带阴影的容器 - 它不能夹住阴影 – YogevSitton
@godmoney那么,为什么你使用一个容器,如果你可以同时设置(阴影,角落)到你的主视图层? – Yogendra
否 - 因为阴影需要maskToBounds = NO并且需要圆角maskToBounds = YES。 – YogevSitton
请参阅此链接http://stackoverflow.com/questions/1509547/uiview-with-rounded -corners – Yogendra
我没有应用圆角的问题。问题是,圆角和阴影看起来不太好...... – YogevSitton
使用掩盖角落的图像。它比任何编程解决方案都简单得多,编码速度更快,通常效果更好。 – Sulthan