我想从.png创建具有几个可触摸区域的自定义可触摸区域。我想知道哪些被触动了。我找到了一个仅基于Alpha识别的自定义区域识别解决方案:
extension UIView {
func alphaFromPoint(point: CGPoint) -> CGFloat {
var pixel: [UInt8] = [0, 0, 0, 0]
let colorSpace = CGColorSpaceCreateDeviceRGB();
let alphaInfo = CGBitmapInfo(CGImageAlphaInfo.PremultipliedLast.rawValue)
let context = CGBitmapContextCreate(&pixel, 1, 1, 8, 4, colorSpace, alphaInfo)
CGContextTranslateCTM(context, -point.x, -point.y);
self.layer.renderInContext(context)
let floatAlpha = CGFloat(pixel[3])
return floatAlpha
}
}
这只能帮助我识别自定义区域的触摸事件。我想我可以在需要的区域划分几个部分的区域,但它只对一个设备大小是正确的。