我有一个UIView,我希望有一个阴影和圆角 . 问题是 - 阴影需要 masksToBounds = NO 而圆角需要 masksToBounds = YES .
masksToBounds = NO
masksToBounds = YES
我找到的解决方案是有一个容器,它将有阴影并添加我的UIView作为容器的子视图 - 并给它圆角 .
这很有效 . 我有阴影和圆角 - 但它并不好 . 阴影是一个矩形视图,我的图像有圆角 .
如何为圆角实现阴影?
删除容器,剪切您的视图阴影 . 导入 QuartzCore/QuartzCore.h . 并尝试此代码到您的视图
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的更多信息,请参阅此链接
What UIView layer.masksToBounds is doing if set to YES?
// 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)];
这可能对你有所帮助 .
2 回答
删除容器,剪切您的视图阴影 . 导入
QuartzCore/QuartzCore.h
. 并尝试此代码到您的视图要了解有关maskToBound的更多信息,请参阅此链接
What UIView layer.masksToBounds is doing if set to YES?
这可能对你有所帮助 .