Я пишу приложение Cocoa для OS X, где пользователь может рисовать квадраты на экземпляре NSView
, щелкая мышью.В настоящее время я заставляю квадраты исчезать через 2 секунды, используя performSelector:withObject:afterDelay:
метод NSObject
, чтобы вызвать перерисовку вида без включенного квадрата.
Однако вместо того, чтобы просто исчезнуть, я быкак квадраты постепенно исчезать.Я пытался использовать NSTimer
, чтобы периодически вызывать перерисовку, при этом непрозрачность квадрата уменьшалась до 0 в течение 2 секунд, но это выглядит довольно не элегантно и, вероятно, неэффективно, особенно если у меня много квадратов.
Есть ли идиоматический способ сделать это?
ОБНОВЛЕНИЕ : просто чтобы прояснить, я хочу, чтобы каждый квадрат, нарисованный в виде, имел независимое затухание, начиная с точки, в которой он нарисованЯ не собираюсь затмевать весь вид.