Недавно я обновился до Xcode 7, бета 3.
И я столкнулся с некоторыми проблемами, я не могу найти никаких вопросов по SO.
Когда я запускаю свое приложение, я получаю 3 ошибки:
Использование неразрешенного идентификатора «kCGBlendModeMultiply»
Использование неразрешенного идентификатора «kCGLineCapRound»
Использование неразрешенного идентификатора «kCGLineJoinMiter»
Однако 2 последних исчезают, хотя я предполагаю, что они появятся после того, как первый будет исправлен (поэтому я включил его в этот вопрос).
Я ничего не видел в примечаниях к выпуску об их удалении? Так что я немного застрял в том, что делать. Конечно, я попытался переписать строки, но 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)
}
Любая помощь будет принята с благодарностью! :)