Kiedyś zauważyłem, że jedna z moich stron wyglądała brzydko. Przyciski na stronie wyglądały na totally different, w zależności od tego, czy zawierały jedną linię tekstu, czy dwie.Jak narysować obramowanie wokół przycisku NSTextextSquareBezelStyle
Po kilku kopaniu dowiedziałem się, że typowy przycisk używa NSRoundedBezelStyle
, ale ma stałą wysokość. Tak więc, jeśli tekst ma być zawijany, Firefox (oraz Chrome i Safari) będzie miał wartość change the button to use NSShadowlessSquareBezelStyle
, która może mieć zmienną wysokość. Chciałbym poprosić opiekunów tych przeglądarek, aby to zmienili i szukam najlepszej alternatywy.
Po znalezieniu already-filed bug i przeczytaniu, zasugerowałem, że może mogą zamiast tego użyć NSTexturedSquareBezelStyle
. Okazuje się, że w Mavericks wygląda prawie tak samo jak przycisk NSRoundedBezelStyle
. To samo dotyczy Yosemite, tyle że nie ma granicy. Zmiana setBordered
nie daje żadnego efektu.
Moje pytanie w imieniu programistów przeglądarki na całym świecie: Czy można narysować przycisk NSTexturedSquareBezelStyle
z ramką? Czy istnieje inny sposób obejścia tego, że wszyscy dostawcy przeglądarki przegapili?
Występuje bardzo delikatna granica, ale nie na tyle, aby zapewnić kontrast na białym tle lub jasny kolor. W Mavericks ten przycisk wyglądał dokładnie tak, jak normalny przycisk, na co liczyłem. To po prostu frustrujące, że istnieje tak oczywiste ograniczenie, którego Apple nie uwzględnił w swoich API. – miken32
Oprócz możliwości podklasowania komórki przycisku i oczywiście nadpisania jej rysunku. ;-) –