如何禁用NSView NSViewDidUpdateTrackingAreasNotification通知?

时间:2012-06-21 21:44:26

标签: cocoa nsview

我有很多嵌套的NSView,这些通知确实会降低应用程序的速度。

NSView具有这些控制通知的方法:

  • setPostsFrameChangedNotifications:
  • postsFrameChangedNotifications
  • setPostsBoundsChangedNotifications:
  • postsBoundsChangedNotifications

但是,我对控制NSViewDidUpdateTrackingAreasNotification没有任何看法。有谁知道如何做到这一点?

1 个答案:

答案 0 :(得分:0)

这个解决方法对我有用。不推荐使用覆盖内部方法。

- (void)_updateTrackingAreas 
{
    //NSLog(@"currentEvent: %@", [NSApp currentEvent].description);

    // Is it currently visible?
    if (NSEqualRects(self.visibleRect, NSZeroRect)) { 
         // No, don't update its tracking area.
        return;
    }

    [super _updateTrackingAreas];
}