我最近更新到了 Xcode 7 beta 3。
我遇到了一些问题,我似乎找不到任何问题。
当我运行我的应用程序时,我收到 3 个错误:
使用未解析的标识符“kCGBlendModeMultiply”
使用未解析的标识符“kCGLineCapRound”
使用未解析的标识符“kCGLineJoinMiter”
然而,后两个问题消失了,尽管我认为它们会在第一个问题修复后出现(因此我将其包含在这个问题中)。
我在发行说明中没有看到有关这些内容被删除的任何内容?所以我有点不知道该做什么。当然,我尝试重写这些行,但我使用的 3 个东西不再显示为选项。如果它们在最新的 Swift 2.0 中消失了,我可以用什么来代替?
这是第一个错误的代码。
func alpha(value:CGFloat)->UIImage
{
UIGraphicsBeginImageContextWithOptions(self.size, false, 0.0)
let ctx = UIGraphicsGetCurrentContext()
let area = CGRect(x: 0, y: 0, width: self.size.width, height: self.size.height)
CGContextScaleCTM(ctx, 1, -1);
CGContextTranslateCTM(ctx, 0, -area.size.height)
CGContextSetBlendMode(ctx, kCGBlendModeMultiply)
CGContextSetAlpha(ctx, value)
CGContextDrawImage(ctx, area, self.CGImage)
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage;
}
这是后两个错误的代码:
for layer in [ self.top, self.middle, self.bottom ] {
layer.fillColor = nil
layer.strokeColor = UIColor.whiteColor().CGColor
layer.lineWidth = 4
layer.miterLimit = 4
layer.lineCap = kCALineCapRound
layer.masksToBounds = true
let strokingPath = CGPathCreateCopyByStrokingPath(layer.path, nil, 4, kCGLineCapRound, kCGLineJoinMiter, 4)
layer.bounds = CGPathGetPathBoundingBox(strokingPath)
layer.actions = [
"strokeStart": NSNull(),
"strokeEnd": NSNull(),
"transform": NSNull()
]
self.layer.addSublayer(layer)
}
任何帮助将不胜感激! :)