【发布时间】:2016-12-06 17:59:48
【问题描述】:
OSX 10.12 这是场景:有一个应用程序在启动时显示带有进度条的模式表。然后,一段时间后,工作表关闭,应用程序准备就绪。 接下来是负责这个的代码:
-(void) open{
[self showWindow:nil];
[self.sheet setPreventsApplicationTerminationWhenModal:NO];
[self.mainWindow beginSheet: self.sheet
completionHandler:^(NSModalResponse returnCode) {
[NSApp stopModalWithCode: returnCode];
}];
[self.progbar setIndeterminate:YES];
[self.progbar startAnimation:nil];
}
和
-(void) close{
if(self.sheet){
[self.progbar stopAnimation:nil];
[self.mainWindow endSheet:self.sheet];
}
}
模态表引入了已按下的取消按钮关闭表。 我也有启动这个应用程序的 Applescript 程序:
tell application "xyz.app"
activate
do something
end tell
此脚本会启动应用程序,并且模式表会根据需要出现和消失。 然而,这个脚本
tell application "xyz.app"
do something
end tell
启动应用程序,工作表出现并且不会消失。按下按钮取消没有帮助 - 模式表保持 卡住。 谁能解释一下?
更新:方法关闭总是执行
【问题讨论】:
-
close方法执行了吗?
标签: objective-c cocoa modal-dialog applescript nswindow