在NSPanel上方发出警报?

时间:2013-10-23 15:36:39

标签: objective-c cocoa alert nspanel

我有一个NSPanel。 我使用以下代码:

[NSApp beginSheet:<NSPanel>
       modalForWindow:[[self view] window]
        modalDelegate:self 
       didEndSelector:nil 
          contextInfo:nil];

此面板包含一个包含NSTextField的视图。 对于具有NSTextField文本的某些条件,我需要在NSPanel视图的顶部显示警报。 抛出警报代码:

NSBeginAlertSheet(@"OK", @"Cancel", nil,nil, [[self view] window], self, nil,  nil,nil, @"Error");

任何想法我怎么能实现这个目标?

1 个答案:

答案 0 :(得分:0)

得到了解决方案。 需要使用以下内容覆盖NSControlTextEditingDelegate方法:

- (void)control:(NSControl *)control didFailToValidatePartialString:(NSString *)string errorDescription:(NSString *)error

{
       NSBeginAlertSheet(@"OK", @"Cancel", nil,nil, <NSPanel instance>, self, nil,  nil,nil, @"Error");

}

:) :)