Yes, that works—thanks very much.

If anyone can explain why my original version didn't
work, I'd appreciate it. My understanding was that the NSTrackingArea
object would be allocate, initialized, and assigned to an ivar in the
applicationDidFinishLaunching: method, and could then be added to and
removed from the view at will. But I'm inferring from your version
(and the fact that it works where mine fails) that something more
complicated happens when the tracking area is added to and removed
from the view.





On Mon, Jul 18, 2011 at 2:00 PM, Quincey Morris
<quinceymor...@earthlink.net> wrote:
> On Jul 18, 2011, at 04:59, Gabriel Roth wrote:
>
>> Thanks for the corrections. But changing the line in question to
>>
>>      myTrackingArea = [[NSTrackingArea alloc]
>> initWithRect:self.blueView.bounds
>> options:(NSTrackingMouseEnteredAndExited |
>> NSTrackingActiveInActiveApp | NSTrackingInVisibleRect ) owner:self
>> userInfo:nil];
>>
>> doesn't change the puzzling behavior when attempting to re-add the
>> tracking area.
>
> Try it this way:
>
> -(IBAction)addTrackingArea:(id)sender
> {
>        NSAssert (!myTrackingArea, @"Gotta remove the old one first");
>
>        myTrackingArea = [[NSTrackingArea alloc]
>                initWithRect:self.blueView.bounds
>                options:(NSTrackingMouseEnteredAndExited | 
> NSTrackingActiveInActiveApp | NSTrackingInVisibleRect )
>                owner:self
>                userInfo:nil];
>
>        [self.blueView addTrackingArea:myTrackingArea];
> }
>
> -(IBAction)removeTrackingArea:(id)sender
> {
>        if (!myTrackingArea)
>                return;
>
>        [self.blueView removeTrackingArea:myTrackingArea];
>        myTrackingArea = nil;
> }
>
>
>
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to