window:willPositionSheet:usingRect没有被调用

Rod*_*era 3 cocoa modal-dialog objective-c

我已经定义了一个Cocoa窗口控制器来覆盖window:willPositionSheet的方法,但是当对话框打开时它不会被调用.

- (NSRect)window:(NSWindow *)window willPositionSheet:(NSWindow *)sheet usingRect:(NSRect)rect
{
return rect;
}
Run Code Online (Sandbox Code Playgroud)

一个重要的事实是,对话框是一个工作表,父窗口是在创建工作表对话框时作为Cocoa引用传递的Carbon窗口.

有任何想法吗?

提前致谢

Rob*_*ger 5

这是一个NSWindow委托方法,因此您需要将窗口控制器设置为窗口的委托,方法是将窗口的委托出口连接到Interface Builder中的文件所有者,或者调用窗口的?setDelegate:方法.