Маскирование прогрессии UIImage
У меня есть UIImage, для которого я планирую создать маску, чтобы, когда пользователь продолжает процесс регистрации, ему было представлено каждое число, переходящее от неактивного к активному, чтобы завершить (флажок). Я также создаю знак "ошибка", который я хотел бы разместить в случае ошибки. Это похоже на контроллер просмотра страниц, но я не хочу использовать контроллер просмотра страниц. Это 5 кружков, которые будут менять цвет, когда активен или не активен, поменять на галочку, когда завершено, или "X" для ошибки. Должен ли я использовать CGImageMaskCreate или CALayer? Это то, что я до сих пор:
func progressImage (name: String) -> UIImage {
let stepOne: UIImage = UIImage(named: name)!
print("UIImage 1: \(stepOne.size.width) H\(stepOne.size.height)")
let maskImage: CGImage = stepOne.CGImage!
}
func maskImage (изображение:UIImage, маска: (UIImage)) -> UIImage {
let imageReference = image.CGImage
let maskReference = mask.CGImage
let imageMask = CGImageMaskCreate(CGImageGetWidth(maskReference),
CGImageGetHeight(maskReference),
CGImageGetBitsPerComponent(maskReference),
CGImageGetBitsPerPixel(maskReference),
CGImageGetBytesPerRow(maskReference),
CGImageGetDataProvider(maskReference), nil, true)
let maskedReference = CGImageCreateWithMask(imageReference, imageMask)
let maskedImage = UIImage(CGImage:maskedReference!)
return maskedImage
}
переопределить func viewDidLoad() { super.viewDidLoad()
//Image array
let image = UIImage(named: "image1.png")
let maskingImage = UIImage(named: "mask1.png")
imageView.image = maskImage(image!, mask: maskingImage!)
}