作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我想在 UIView
上添加drop shadow 和stroke shadow这是我的设计师给我的阴影,
对于投影,他告诉我使用 RGB(176,199,226),不透明度为 90%,距离为 3,大小为 5
对于描边阴影,他要求应用大小为 1 的 RGB(209,217,226) 和 100% 不透明度。
这是 photoshop 应用的效果屏幕,
具有所需阴影的 View (预期输出)
我尝试了以下方法来获得投影
viewCheck.layer.masksToBounds = NO;
viewCheck.layer.cornerRadius = 5.f;
viewCheck.layer.shadowOffset = CGSizeMake(.0f,2.5f);
viewCheck.layer.shadowRadius = 1.5f;
viewCheck.layer.shadowOpacity = .9f;
viewCheck.layer.shadowColor = [UIColor colorWithRed:176.f/255.f green:199.f/255.f blue:226.f/255.f alpha:1.f].CGColor;
viewCheck.layer.shadowPath = [UIBezierPath bezierPathWithRect:viewCheck.bounds].CGPath;
这是它的结果,
我在理解如何将描边和阴影应用到 photoshop 屏幕截图中时遇到问题(我在上面添加了)。 Distance, Spread, Size, Position 如何应用?
有人可以指点我应用这些阴影的指南吗?出现了很多阴影效果,我想了解它是如何实现的,而不是在这里问每个问题!
谢谢:)
最佳答案
我相信您寻找的大部分配置都可以通过使用 shadowPath
属性来实现。
viewCheck.layer.shadowRadius = 1.5f;
viewCheck.layer.shadowColor = [UIColor colorWithRed:176.f/255.f green:199.f/255.f blue:226.f/255.f alpha:1.f].CGColor;
viewCheck.layer.shadowOffset = CGSizeMake(0.0f, 0.0f);
viewCheck.layer.shadowOpacity = 0.9f;
viewCheck.layer.masksToBounds = NO;
UIEdgeInsets shadowInsets = UIEdgeInsetsMake(0, 0, -1.5f, 0);
UIBezierPath *shadowPath = [UIBezierPath bezierPathWithRect:UIEdgeInsetsInsetRect(viewCheck.bounds, shadowInsets)];
viewCheck.layer.shadowPath = shadowPath.CGPath;
例如,通过这样设置 shadowInsets
UIEdgeInsets shadowInsets = UIEdgeInsetsMake(0, 0, -1.5f, 0);
你会得到一个漂亮的理想阴影:
现在您可以通过控制阴影路径矩形插入来决定如何构建阴影矩形。
关于iOS : How to add drop shadow and stroke shadow on UIView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17502082/
我是一名优秀的程序员,十分优秀!