2017-03-20 14 views
8

Mam aplikację, która jest wyświetlana jako aplikacja paska stanu (w Info.plist "Aplikacja jest agentem (UIElement) = TAK").Nie mogę użyć niestandardowego paska dotykowego w aplikacji macOS paska stanu

Dodałem TouchBar z Interface Builder i dodałem kilka elementów Touch Bar Buttons na nim. Problem polega na tym, że niestandardowy pasek dotykowy nie jest wyświetlany.

Aby wyświetlić niestandardowy pasek dotykowy do pokazania Chcę ustawić główne okno WindowController jako Prawdziwy kontroler początkowy, niestety, w ten sposób aplikacja odsieje również osobne okno z tą samą zawartością niż wyskakujące okienko menu pozycja.

Czy istnieje sposób wdrożenia niestandardowego paska dotykowego dla aplikacji macOS paska stanu?

enter image description here

+0

Czy kiedykolwiek znalazłeś rozwiązanie? – dvdblk

+0

Witaj, dvdblk, jeszcze niestety. – Cue

Odpowiedz

0

Czy próbowałeś przypisywania touchBar do NSApplication? Powinieneś mieć IBOutlet przypisany do swojego IB touchBar i podczas runtime go przypisać.

@property (weak) IBOutlet NSTouchBar *testTouchBar; 
[...] 
[NSApplication sharedApplication].touchBar = _testTouchBar; 
+0

Witaj cybek, jestem początkujący i nie wiem Cel-C, czy możesz pomóc mi przetłumaczyć to na Swift? Wyjście, które umieściłem w WindowControllerze, wydaje się działać, ale drugie oświadczenie, które umieszczam w windowDidLoad(): "let t: NSApplication = application.shared.mainTouchBar" daje błąd (Bool nie ma członka udostępnionego) .Czy zinterpretowałem to źle w Swift ... – Cue

+0

@Tel Właściwie to też jestem początkujący, ponieważ uczę się obj-c. Ale mam nadzieję, że kod w szybkim tempie będzie wyglądał następująco: let app = NSApplication.shared(); app.touchBar = _testTouchBar; Wygląda na to, że użyłeś metody sharedApplication zamiast współdzielonej w swift i jest to metoda. Reszta byłaby taka sama – cybek

+0

Witam cybek, zaimplementowałem to, ale to nie działa. – Cue

Powiązane problemy