2

次のコードで完全に実行されているシートとしてウィンドウを表示したい:

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

ただし、1 つの小さな問題があります。

  • 私はChromium Tabsの実装を使用しており、おそらく Chromium Tabs の内部ロジックに関連している何らかの理由で、シートは私が望む場所よりもやや低く見えるようです... (おそらくそれが考慮されているウィンドウの「境界」として、とにかく...)

ここに画像の説明を入力

どうしたの?どうすれば修正できますか?

4

1 に答える 1

8

ちょうどそれを見つけました:

ウィンドウのデリゲートでは、次の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;
}
于 2012-04-03T11:20:28.820 に答える