如果出现NSAlert对话框,是否可以阻止NSPopover关闭?

时间:2016-07-21 23:55:48

标签: objective-c cocoa nspopover nsalert

您好我有一个NSStatusItem,在点击时显示一个弹出窗口。 popover中的一个选项是删除某些内容,此时我会询问用户是否确定,但一旦出现警报,Popover就会自动关闭。

我已尝试过所有不同的行为设置,如NSPopoverBehaviorSemitransient,NSPopoverBehaviorTransient和NSPopoverBehaviorApplicationDefined无效。

我也尝试在 - (BOOL)popoverShouldClose :( NSPopover *)popover中捕获它,但是当NSAlert出现时不会调用它。

似乎没有什么能阻止NSAlert关闭弹出窗口。

NSAlert *alert = [[NSAlert alloc] init];
[alert addButtonWithTitle:@"OK"];
[alert addButtonWithTitle:@"Cancel"];
[alert setMessageText:msg];
[alert setInformativeText:@"Warning, delete this folder?"];
[alert setAlertStyle:NSCriticalAlertStyle];

// Show the alert
if ([alert runModal] == NSAlertFirstButtonReturn) {

我还尝试将警报显示为弹出窗口中的一个工作表,但是如果我在外面点击它,那么弹出窗口就会停留在周围。

有什么想法吗?

由于

0 个答案:

没有答案