Ich habe eine NSPopover
in einer Cocoa-Anwendung, und seit Lion - es rendert als halbtransparent, so dass alle Textfelder, Tabellen usw., die es überlagert - diese jetzt durch darunter hindurch und es sieht wirklich seltsam aus. Ich habe die Klassenreferenzdokumente von Apple überprüft, aber es scheint keine Möglichkeit zu geben, sie in Opaque zu ändern. Die einzigen beiden Eigenschaftswerte, die zum Angeben des Aussehens verfügbar zu sein scheinen, sind NSPopoverAppearanceMinimal
und NSPopoverAppearanceHUD
- aber beide scheinen sich nicht auf Alpha oder Opazität zu beziehen. Ist die einzige Möglichkeit, eine NSPopover
undurchsichtig zu machen, indem man drawRect übersteuert? oder kennt jemand einen besseren Weg? Es scheint für UIPopover
auf iOS verfügbar zu sein, aber nicht NSPopover
für Cocoa ...Möchten Sie die Opazität für einen NSPopover ändern - ist das möglich?
5
A
Antwort
1
Um den Hintergrund vollständig undurchsichtig zu drehen, haben Sie einen Blick auf diesen Beitrag:
How to change NSPopover background color include triangle part?
+0
Ich lief genau das gleiche Problem und die Lösung in diesem Artikel half mir, das Problem zu lösen. – zic10
Verwandte Themen
- 1. Ist es für einen Kunden möglich, die Zahlungsmethode zu ändern?
- 2. NSPopover animieren contentViewController ändern und Popovergröße ändern
- 3. Möchten Sie das Datumsformat und die Zeitzone für das DocuSign-Konto ändern
- 4. Größe NSPopover ändern, nachdem es angezeigt wird
- 5. Ändern der Bild-Opazität
- 6. Möchten Sie einen besonderen Charakter
- 7. WPF - ist es möglich, die Deckkraft einer GridColumn zu ändern?
- 8. Ändern Sie die Vorlage für das Implementierungsinterface
- 9. Möchten Sie das Standard-Caret-Symbol in Bootstrap3 ändern?
- 10. High Charts: Ändern Sie jede einzelne Grundstücksgröße, ist das möglich?
- 11. schweben Opazität und klicken Sie auf Opazität
- 12. Wie ändert man die Pfeilspitze des NSPopover?
- 13. Ändern div Opazität auf Bildlauf
- 14. Deaktivieren Sie die Ausrichtung ändern, wenn Benutzer möchten
- 15. Es ist möglich, die Bildschirmausrichtung des Telefons nur zu sperren, wenn Sie möchten? (dynamisch)
- 16. Ist es möglich, das Rubin-Kommentarsymbol zu ändern?
- 17. Workaround für die Opazität auf dem iPad?
- 18. Ändern Sie die Spracheinstellungen (Gebietsschema) für das Gerät
- 19. Möchten Spaltenwerte für einen bestimmten Spaltenwert ausgeben
- 20. Ändern der Textur Opazität in OpenGL
- 21. Möchten Sie wirklich löschen?
- 22. Warum Position ändern abhängig von der Opazität
- 23. jquery fadeIn() von der Opazität: 0.1 - möglich?
- 24. Ist es möglich, das App-Symbol programmgesteuert zu ändern?
- 25. Ändern der Opazität einer Schaltfläche ändert alle
- 26. NSButton Eckenradius und NSPopover
- 27. Ist es möglich, die cindent-Regeln für einen Fall in vim zu ändern?
- 28. Verwenden von NSpopover in swift. So ändern Sie die obere Leiste
- 29. Zugriff auf das NSPopover-Fenster zum Festlegen des Pegels?
- 30. NSPopover und Snow Leopard
Welche Version von OSX sind verwendest du? Ich sehe dieses Verhalten nicht mit der minimalen Erscheinung - scheint mir ziemlich undurchsichtig. Wenn Sie den Hintergrund ändern möchten, ist es einfach, eine NSBox (vom benutzerdefinierten Typ) hinzuzufügen, um die gesamte Ansicht abzudecken und dann die gewünschte Hintergrundfarbe zu erhalten. – rdelmar
Ich verwende OSX 10.8. Es ist größtenteils undurchsichtig, aber Sie können den Text hinter dem Popover immer noch leicht sehen. Versucht, die NSBox (vom benutzerdefinierten Typ) hinzuzufügen, um das Ganze zu bedecken - was funktionierte, aber es zeichnet sich selbst über den Text, der im Popover ist, und selbst wenn es auf der untersten Ebene (in IB) platziert wird rendert weiterhin die Textfelder, die im Popover enthalten sind. Ich bin sicher, dass es einen Weg gibt, es programmatisch zu machen ... werde versuchen, die Lösung hier zu posten, sobald ich es herausgefunden habe. Vielen Dank! –
Die Textfelder und alle anderen UI-Elemente, die Sie haben, sollten alle in die Box eingebettet sein - Sie tun dies, indem Sie alle auswählen und dann im Editor-Menü auf "Einbetten" klicken. Dies macht sie alle Unteransichten der Box, und sie werden oben angezeigt. – rdelmar