jde*_*une 0 cocoa objective-c nswindow nswindowcontroller cocoa-sheet
我正在尝试创建一个自定义模式窗口,这是我到目前为止的代码:
NSWindowController *modalSheet = [[NSWindowController alloc]
initWithWindowNibName:@"MyCustomWindow" owner:self];
[NSApp beginSheet:[modalSheet window]
modalForWindow:[self windowForSheet]
modalDelegate:nil
didEndSelector:nil
contextInfo:nil];
Run Code Online (Sandbox Code Playgroud)
窗口弹出正常,但它不是模态的,例如,您仍然可以对请求来自的父窗口执行操作.从NSDocument对象调用此方法.
我试过阅读:使用自定义表格
但是我不确定myCustomSheet
它是什么,因为它没有在任何地方声明.我假设它是一个NSWindow
实例变量.
我只是无法理解为什么它不是模态的.任何帮助将非常感激.谢谢
希望这可以帮助.总是以模态运行窗口控制器.创建自己的NSWindowController子类并添加这两个方法.
- (void)windowDidLoad
{
[super windowDidLoad];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{//TODO
[[NSApplication sharedApplication] runModalForWindow:self.window];
});
}
- (void)windowWillClose:(NSNotification *)notification
{
[[NSApplication sharedApplication] stopModal];
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11089 次 |
最近记录: |