I have a custom view in a .xib file, which I use as the contentViewController
for an MAAttachedWindow
. The view has several NSTextField
s in it.
When I open the MAAttachedWindow
first time, everything is fine. Text shows up in all relevant text fields. Then, if I close the window (which sets it to nil
) and then call it again (which reinitializes, using the same custom view as the contentViewController
), the last firstResponder
text field is now blank.
The strange thing is that if I click the "empty" text field, it shows the correct text. This can be edited, and behaves appropriately as long as this text field has focus. As soon as something else becomes firstResponder
, the text vanishes again.
Updates:
NSSecureTextField
s.I first encountered this problem about 5 years ago with accessory view of a NSSavePanel. The solution that I've found was to move the first responder to the panel itself, before it's closed. Here's my exact method:
- (void)windowDidEndSheet:(NSNotification *)notification
NSSavePanel *savePanel = [(XSDocument *)[self document] savePanel];
if (!savePanel)
return;
// this fixes a bug where on next opening one of accessory view's text field will be blank and behave strangely
[savePanel makeFirstResponder:savePanel];
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With