Позиционирование листа после использования beginSheet: modalForWindow :? - PullRequest
2 голосов
/ 03 апреля 2012

Я хочу отобразить окно в виде листа, который прекрасно работает со следующим кодом:

[NSApp beginSheet:mySheet
   modalForWindow:myWindow
    modalDelegate:nil 
   didEndSelector:NULL
      contextInfo:NULL];

Однако, существует ОДНА ЗАДАЧА НЕМНОГО:

  • I 'используя реализацию вкладок Chromium и - по какой-то причине, вероятно, связанной с внутренней логикой вкладок Chromium - лист кажется несколько НИЖЕ, чем там, где я бы хотел, чтобы это было ... (Возможно,это то, что считается окном "граница", но в любом случае ...)

enter image description here

Что не так?Как я мог это исправить?

1 Ответ

8 голосов
/ 03 апреля 2012

Только что нашёл:

В делегате окна мы реализуем window:willPositionSheet:usingRect: вот так

- (NSRect)window:(NSWindow *)window willPositionSheet:(NSWindow *)sheet 
       usingRect:(NSRect)rect 
{
    rect.origin.y += 11;  // or as much as we need
    return rect;
}
...