Как правило, CGContext
s - это холсты только для добавок, то есть вы можете только добавить больше краски, но не удалить существующую краску, которую вы на них наносили.Если ваш холст для начала был белым, вы можете закрасить белым, чтобы подделать и стереть операцию.
Простым решением было бы вручную очистить области удаляемого растрового изображения.
Комплексное решение состоит в том, чтобы сохранить все операции рисования, которые пользователь ввел, и деформировать их в результате операции стирания (это также сделает добавление режима отмены простым)
Примечание: есть CGContextClearRect
функция, но обычно она работает только так, как ожидается в растровых контекстах.