0

私はNSPanelを持っています。次のコードを使用します。

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

この Panel には、NSTextField を含むビューがあります。NSTextField テキストの条件によっては、NSPanel ビューの上にアラートを表示する必要があります。アラートをスローするコード:

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

どうすればこれを達成できますか?

4

1 に答える 1

0

解決策を得ました。NSControlTextEditingDelegate メソッドを次のようにオーバーライドする必要があります。

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

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

}

:) :)

于 2013-10-24T11:08:03.433 に答える