当你对一个窗口使用setFrame:时,你需要把标题栏的高度也算进去。从前标题条的高度是16点,在Aqua里,是22个点。由于这个高度不固定,所以你最好这样计算:

 
- (float) titleBarHeight
{
    NSRect frame = NSMakeRect (0, 0, 100, 100);
           
    NSRect contentRect;
    contentRect = [NSWindow contentRectForFrameRect: frame
                                                                                              styleMask: NSTitledWindowMask];
           
    return (frame.size.height - contentRect.size.height);
           
}