кнопка IBAction
в окне A вызывает runModalForWindow:windowB
.
windowB становится ключевым и модальным.
windowB имеет popUpWindowDatePicker, который вызывает stopModal
при отображении, а затем popUpWindowDatePicker становится ключом, а windowB подает ключ и не является модальным.в этом месте нет модальных окон.
когда popUpWindowDatePicker закрывается, его метод didResignFirstResponder
устанавливает логическое значение YES. windowB затем становится ключом, и windowB windowController windowDidBecomeKeyNotification
запускает, проверяет логическое значение и, если это YES, вызывает runModalForWindow:self.window
.
сейчас windowB является модальным и ключевым. windowA все еще открыто, но не клавиша.
windowB имеет кнопки Okay и Cancel, которые вызывают: [NSApp stopModalWithCode:returnCode]
, а затем orderOut:
и close
on windowB .
, если используется popUpWindowDatePicker, и затем в любое время после того, как windowB закрывается с помощью Okay или Cancel, вызывается ошибка подтвержденияс использованием кнопок Okay или Cancel:
*** Assertion failure in -[NSButton lockFocus], /SourceCache/AppKit/AppKit-1038.29/AppKit.subproj/NSView.m:5237
-[NSButton(0x20021cd60) lockFocus] failed with window=0x20021c0c0, windowNumber=-1, [self isHiddenOrHasHiddenAncestor]=0
, если windowB закрыто с помощью Okay или Cancel и popUpWindowDatePicker не использовался, ошибка подтверждения отсутствует.
itКажется, что последовательность runModal-stopModal-runModal-stopModal
на windowB связана с отказом lockFocus на нажатой кнопке, но я не могу найти способ отследить больше, чем это, чтобы решить эту проблему.
Может кто-нибудь предложить какие-либо советы или мысли?