CGContextSetShadowWithColor:UIView中阴影翻转

Posted

技术标签:

【中文标题】CGContextSetShadowWithColor:UIView中阴影翻转【英文标题】:CGContextSetShadowWithColor: shadow is flipped in UIView 【发布时间】:2010-12-28 06:57:34 【问题描述】:

我正在开发一个 iPhone 应用程序,我想在其中为我在 UIView 上下文中绘制的路径设置阴影。

下面是sn-p的代码:

CGSize shadowSize = CGSizeMake(-4, -4);
CGContextSetShadowWithColor(drawContext, shadowSize, blurRadius,
shadowColor.CGColor);            
//Stroke the bezier path

由于我在 UIView 的同一上下文中绘制 UIImage,我需要翻转上下文。除了底部和右侧显示阴影(我的期望是顶部和右侧)之外,所有绘图都很好。

当我在我创建的上下文(不是 UIView 上下文,因此未翻转)中尝试此绘图时,阴影正确显示。

这里有什么问题?我该如何解决?

【问题讨论】:

【参考方案1】:

来自 Apple 文档 (Drawing and Printing Guide for ios):

"翻转 CTM 以将对象与 UIKit 的默认坐标系对齐不会影响对象的阴影,因此阴影不会正确跟踪其对象。要使其正确跟踪,您必须适当修改偏移值为当前坐标系。”

【讨论】:

以上是关于CGContextSetShadowWithColor:UIView中阴影翻转的主要内容,如果未能解决你的问题,请参考以下文章