В методе -drawInContext: у меня есть слой с некоторым сложным кодом чертежа. Я пытаюсь свести к минимуму количество чертежа, которое мне нужно сделать, поэтому я использую -setNeedsDisplayInRect: обновлять только измененные части. Это прекрасно работает. Однако, когда графическая система обновляет мой слой, он переходит от старого к новому изображению с помощью перекрестного затухания. Я бы хотел, чтобы он мгновенно переключился.
Я попытался использовать CATransaction, чтобы отключить действия и установить длительность в ноль, и ни одна из них не работает. Вот код, который я использую:
[CATransaction begin];
[CATransaction setDisableActions: YES];
[self setNeedsDisplayInRect: rect];
[CATransaction commit];
Есть ли другой метод для CATransaction, который я должен использовать вместо этого (я также попытался -setValue: forKey: с kCATransactionDisableActions, тот же результат).