2012-08-14 10 views
5

Mam NSPopover w aplikacji Cocoa, a ponieważ Lion - renderuje się jako półprzezroczyste, tak że wszelkie pola tekstowe, tabele itp., Które on nakłada - te teraz pokazują się pod nim i wygląda naprawdę dziwnie. Sprawdziłem dokumenty referencyjne klasy od Apple, ale nie wydaje się, żeby można było zmienić to na nieprzezroczyste. Jedynymi dwiema wartościami właściwości, które wydają się być dostępne do określenia wyglądu, są NSPopoverAppearanceMinimal i NSPopoverAppearanceHUD - ale żadne z nich nie wydają się odnosić do alfa lub krycia. Czy jedyny sposób na zmycie NSPopover przez przejechanie drawRect? lub czy ktoś wie o lepszy sposób to zrobić? To wydaje się być dostępny dla UIPopover na iOS, ale nie NSPopover Kakao ...Chciałbyś zmienić nieprzezroczystość dla NSPopover - czy to możliwe?

+0

Jaka wersja OSX są używasz? Nie widzę tego zachowania przy minimalnym wyglądzie - wydaje mi się dość nieprzejrzysty. Jeśli chcesz zmienić tło, możesz łatwo dodać NSBox (niestandardowego typu), aby pokryć cały widok, a następnie nadać mu dowolny kolor tła. – rdelmar

+0

Używam OSX 10.8. Jest przeważnie nieprzejrzysty, ale wciąż można zobaczyć tekst za popover. Próbowałem dodać NSBox (niestandardowego typu), aby pokryć całość - który działał, ale rysuje się na górze tekstu, który jest w popover, i nawet jeśli jest umieszczony na najniższej warstwie (w IB), to nadal renderuje pola tekstowe zawarte w Popover. Jestem pewien, że jest sposób, aby to zrobić programowo ... postaram się opublikować rozwiązanie tutaj, gdy tylko się zorientuję. Dzięki! –

+0

Pola tekstowe i każdy inny element interfejsu użytkownika, który posiadasz, powinny być osadzone w pudełku - robisz to wybierając wszystkie z nich, a następnie klikając opcję "Umieść w" w menu Edytor. To sprawia, że ​​wszystkie subviews tego pola są wyświetlane na górze. – rdelmar

Odpowiedz

Powiązane problemy