Chciałbym wykonać następujące czynności:
po kliknięciu paska stanu (NSStatusItem
) Chcę go podświetlić (bez menu) w nieskończoność, a gdy aplikacja straci ostrość, chcę przestać go podświetlać.
Czy jest jakiś sposób na zrobienie tego? Nie mogę tego znaleźć, tbh.Czy istnieje sposób, aby podświetlić programowo element paska stanu?
Odpowiedz
Prawdopodobnie można to zrobić w niestandardowym widoku, który jest sends the status item a drawStatusBarBackgroundInRect:withHighlight:
message.
Wątpię, czy jest jakikolwiek sposób na zrobienie tego bez niestandardowego widoku, ponieważ, jak wspomniałem w swoim komentarzu do tego pytania, utrzymywanie pozycji podświetlonej, gdy użytkownik nie ma myszy, wygląda źle.
Rzecz w tym, że mam NSWindow (bez popover), który pojawi się zaraz pod paskiem stanu (po kliknięciu). Tak więc chcę naśladować zachowanie NSMenu: klikam na pasku stanu, okno jest pokazywane, a element jest podświetlony, gdy aplikacja traci ostrość, okno znika i element przechodzi w stan normalny. –
@PedroVieira: Brzmi rozsądnie. Gdybym to robił, robiłbym niestandardowy widok, tak jak opisałem w mojej odpowiedzi. –
Pedro, mam teraz dokładnie ten sam problem. Czy mógłbyś podzielić się z wami tym, jak wdrożyłeś rozwiązanie Petera? Twoje zdrowie. –
Stare pytanie, ale myślę, że warto dodać tę alternatywną odpowiedź.
ten nie będzie automatycznie usuwa zaznaczenie gdy aplikacja traci ostrość, ale ta pozwala na podkreślenie bez używania widoku niestandardowego (jako other answer wymaga):
NSStatusItem *statusItem = [self getStatusItem];
[statusItem.button setHighlighted:YES];
Można usuwa zaznaczenie go ręcznie za pomocą ta sama metoda:
[statusItem.button setHighlighted:NO];
Uwaga Mam tę odpowiedź z podobnego pytania here.
- 1. zwykły kod JavaScript, aby podświetlić element HTML
- 2. Czy istnieje sposób programowo programowo LaunchScreen
- 3. Czy istnieje sposób, aby programowo uzyskać kolekcję specjalnych formularzy clojure?
- 4. Czy istnieje sposób, aby programowo sprawdzić status trybu samolotowego?
- 5. Czy istnieje sposób, aby programowo wyrejestrować urządzenie do powiadamiania push?
- 6. Czy istnieje sposób, aby programowo wyświetlić listę wszystkich zależności gradle?
- 7. Czy istnieje sposób, aby mysz całkowicie ignorowała element html?
- 8. Czy istnieje sposób, aby znaleźć element w documentFragment?
- 9. Dokumentacja paska stanu Emacsa
- 10. Ukrywanie/pokazywanie paska stanu
- 11. Czy można dynamicznie zmieniać ikonę paska stanu (ikona powiadomienia)?
- 12. Czy istnieje sposób sprawdzenia, czy element zakończył przejście CSS3?
- 13. Jak programowo przewinąć element HTML?
- 14. Czy istnieje sposób wyświetlania paska przewijania ListView cały czas?
- 15. Nie zmieniaj rozmiaru paska nawigacyjnego podczas ukrywania paska stanu.
- 16. Czy istnieje sposób na zwiększenie wysokości paska strip.text w aspekcie?
- 17. Czy istnieje sposób zmiany paska adresu przeglądarki bez odświeżania strony?
- 18. Czy istnieje sposób, aby zapobiec zaokrąglaniu stringWithFormat?
- 19. Czy istnieje sposób, aby zignorować odpowiedź formularza?
- 20. Czy istnieje sposób, aby wyczyścić django.db.connection.queries?
- 21. Czy istnieje sposób, aby anulować TabControl.Items.CurrentChanging?
- 22. Czy istnieje sposób, aby zleceniowe NSWindow spacjami
- 23. Czy istnieje sposób, aby uciszyć rejestrowanie hsqldb?
- 24. Czy istnieje sposób na zdobycie poszczególnych elementów paska narzędziowego heroku?
- 25. Uzyskaj wysokość paska stanu iPhone'a
- 26. Czy istnieje sposób, aby dowiedzieć się, czy element ma pasek przewijania na nim za pomocą JQuery?
- 27. Jak uzyskać kolor tła paska stanu, aby pokazać colorPrimaryDark
- 28. Czy istnieje sposób ustawienia pionowego paska przewijania dla elementu div?
- 29. Sterowanie ikoną paska stanu Android
- 30. OSX: jak "odkryć" element paska statusu?
Gdybym zobaczył, że aplikacja to robi, myślę, że został zawieszony, lub przynajmniej nie używa standardowej pętli zdarzeń, pomiędzy podświetleniem i niehandelem. Jeśli chcesz wskazać, że twoje okno jest widoczne, powinieneś zmienić ikonę elementu. –