【问题标题】:draw shadow for overlapping UI objects为重叠的 UI 对象绘制阴影
【发布时间】:2012-01-20 03:15:30
【问题描述】:

我有一个 UIImageView 与 UIButton 部分重叠。我希望用户将图像和按钮视为一个连接对象。当我尝试使用 QuartzCore 给他们投影时:

image.layer.shadowOffset = CGSizeMake(5,5); button.layer.shadowOffset = CGSizeMake(5,5);

按钮的阴影部分会落在图像上。我希望按钮阴影只掉落在图像之外的部分。类似于两个矩形的联合。我们将不胜感激!

谢谢

狮子座

【问题讨论】:

    标签: iphone ios core-graphics quartz-graphics


    【解决方案1】:

    UIImageViewUIButton 放入父视图。在父视图上设置阴影。确保父视图不是不透明的并且具有透明的背景颜色:

    - (void)viewDidLoad {
        [super viewDidLoad];
        self.shadowView.backgroundColor = [UIColor clearColor];
        self.shadowView.opaque = NO;
        self.shadowView.layer.shadowOffset = CGSizeMake(5, 5);
        self.shadowView.layer.shadowColor = [UIColor blackColor].CGColor;
        self.shadowView.layer.shadowOpacity = 1.0;
    }
    

    【讨论】:

    • 成功了!谢谢!我以为我必须加入 shadowPaths。这要简单得多。表现如何?
    • 您需要测试您的应用并自行决定性能是否可以接受。如果太慢,您将不得不重新设置父视图的shadowPath 或使用其他技术。
    • 能分享一下设置父视图shadowPath的方法吗?或者任何网络链接参考都可以!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-16
    • 2012-02-16
    • 2015-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-24
    相关资源
    最近更新 更多