Мне нужно отслеживать места перемещения мыши.В идеале я хотел использовать «setAcceptsMouseMovedEvents», который будет захвачен окном или подклассом NSView.Но я не был уверен, где это поставить.Поэтому вместо этого я буду отслеживать движения мыши через updateTrackingAreas.
- (void) updateTrackingAreas {
[self removeTrackingArea:trackingArea];
trackingArea = [[NSTrackingArea alloc] initWithRect:[self bounds]
options:(NSTrackingActiveAlways | NSTrackingInVisibleRect | NSTrackingMouseEnteredAndExited | NSTrackingMouseMoved)
owner:self userInfo:nil];
[self addTrackingArea:trackingArea];
[super updateTrackingAreas];
}
У меня такие вопросы:
В коде используется alloc.Должен ли я освободить это?Если да, то где это будет сделано?
В конце кода вызывается «super».Я положил его туда, потому что обычно рекомендуется позвонить родителю.Тем не менее, я отслеживаю только одну область, поэтому я не уверен, нужна ли она мне.Может кто-нибудь, пожалуйста, дайте мне знать, если это действительно нужно или нет?
Поскольку setAcceptsMouseMovedEvents не используется, мне нужно использовать NSTrackingActiveWhenFirstResponder?Мне не кажется, что я делаю, но я могу быть не прав?
Спасибо за вашу помощь