Moja aplikacja ma opcję, która pozwala użytkownikowi wybrać standardowy pasek tytułu/paska tytułowego "pełnowymiarowy" i "zwarty" pasek tytułu/pasek narzędzi udostępniony w interfejsie API 01.10.10. W szczególności używam metody -titleVisibility
do ustawienia NSWindowTitleVisible
lub NSWindowTitleHidden
w zależności od preferencji użytkownika. Jeśli użytkownik zaznaczy pole wyboru "Kompaktowy pasek tytułu", NSWindowTitleHidden
zostanie zastosowane do okna, w przeciwnym razie okno zastosuje styl domyślny. Po zmianie wartości pola wyboru wartość jest przechowywana w domyślnych ustawieniach użytkownika aplikacji, a okno jest aktualizowane/przerysowywane.NSWindow z NSWindowTitleVisibilityNone zapisywanie niepoprawnej ramki do domyślnych ustawień użytkownika?
Wszystko działa doskonale, dopóki aplikacja nie zostanie ponownie uruchomiona. Za każdym razem, gdy aplikacja uruchamia się, okno powiększa się o dokładnie tyle miejsca, przechodząc z domyślnego stylu okna (NSWindowTitleVisible
) do nowego stylu(). W związku z tym ponowne uruchomienie aplikacji 5-6 razy spowoduje, że okno będzie zlicowane z menkorem i stacją dokującą, w zależności od tego, jak duże było okno po początkowym zaznaczeniu tego pola wyboru.
Innymi słowy, nie wygląda na to, że ramka okna jest aktualizowana w NSUserDefaults
, gdy właściwość jest ustawiona. Czy istnieje obejście tego problemu, czy też coś przeoczam? Każda rada byłaby pomocna.
Dzięki!
To szaleństwo, że nie zostały one ustalone, że jeszcze mam ten sam problem, ustawienie '[self.window setTitleVisibility: NSWindowTitleHidden];' 'w metodzie awakeFromNib' mojego okna sterownika. Może robimy coś złego ... – Nightbirdsevolve
Aplikacja kalendarza OS X 10.10 ma ten szczególny wygląd i nie ma problemu. – Nightbirdsevolve