首页 文章

UIView阴影和圆角

提问于
浏览
1

我有一个UIView,我希望有一个阴影和圆角 . 问题是 - 阴影需要 masksToBounds = NO 而圆角需要 masksToBounds = YES .

我找到的解决方案是有一个容器,它将有阴影并添加我的UIView作为容器的子视图 - 并给它圆角 .

这很有效 . 我有阴影和圆角 - 但它并不好 . 阴影是一个矩形视图,我的图像有圆角 .

Shadow and rounded corners

如何为圆角实现阴影?

2 回答

  • 0

    删除容器,剪切您的视图阴影 . 导入 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?

  • -1
    // 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)];
    

    这可能对你有所帮助 .

相关问题