沿 UIView 左边缘显示渐变

Posted

技术标签:

【中文标题】沿 UIView 左边缘显示渐变【英文标题】:Display gradient along left edge of UIView 【发布时间】:2012-12-28 04:52:16 【问题描述】:

我正在尝试在 UIView 的侧面绘制阴影,以使其具有 3D 风格的外观。这种方法的一种变体适用于沿另一个视图底部的垂直渐变,但是我正在尝试沿视图的左侧实现水平渐变。下面是我的尝试。我得到了一种颜色,但是它没有渐变。

CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = CGRectMake(-5, 0, 5, kScreenHeight);
gradient.startPoint = CGPointMake(0, 0.5);
gradient.endPoint = CGPointMake(1.0, 0.5);
gradient.colors = @[(id)[[UIColor wikiShadowColor] CGColor], (id)[[UIColor clearColor] CGColor]];
[self.layer insertSublayer:gradient atIndex:0];

【问题讨论】:

【参考方案1】:

我已经成功使用了 layer.shadow:

[setAlarmView.layer setShadowColor:[UIColor blackColor].CGColor];
[setAlarmView.layer setShadowOffset:CGSizeMake(2.0, 2.0)];
[setAlarmView.layer setShadowRadius:35.0];
[setAlarmView.layer setShadowOpacity:1.0];

您需要包含 QuartzCore.h。

【讨论】:

以上是关于沿 UIView 左边缘显示渐变的主要内容,如果未能解决你的问题,请参考以下文章

创建一个带有前导/尾随褪色边缘的 UIView

Xcode-如何使对象沿屏幕边缘对齐?

为选定的边缘 UIView 添加阴影

在 UIView 中定位文本

关于align="absmiddle"的说明

在 iOS7 中边缘滑动时,使键盘与 UIView 同步动画