gpt4 book ai didi

xcode - 错误 : Use of unresolved identifier 'kCGBlendModeMultiply'

转载 作者:IT王子 更新时间:2023-10-29 05:35:09 26 4
gpt4 key购买 nike

我最近更新到 Xcode 7,beta 3。

而且我遇到了一些问题,我似乎无法在 SO 上找到任何问题。

当我运行我的应用程序时,出现 3 个错误:

Use of unresolved identifier 'kCGBlendModeMultiply'

Use of unresolved identifier 'kCGLineCapRound'

Use of unresolved identifier '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)
}

任何帮助将不胜感激! :)

最佳答案

这应该有效:

CGContextSetBlendMode(ctx, CGBlendMode.Multiply)

...甚至只是这样:

CGContextSetBlendMode(ctx, .Multiply)

如果你 Ctrl-click CGContextSetBlendMode 然后从它的声明跳转(以同样的方式)到 CGBlendMode 的声明然后你会见:

enum CGBlendMode : Int32 {

/* Available in Mac OS X 10.4 & later. */
case Normal
case Multiply
case Screen
case Overlay

// ...
}

同样,产生错误的另一行应更改为:

let strokingPath = CGPathCreateCopyByStrokingPath(layer.path, nil, 4, .Round, .Miter, 4)

关于xcode - 错误 : Use of unresolved identifier 'kCGBlendModeMultiply' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31309521/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com