usability

___ qstnhdr ___ Menü NSSegmentedControl anzeigen, wenn Segment geklickt wurde, obwohl eine Aktion festgelegt wurde ___ answer1203728 ___

Ich bin mir nicht sicher, ob es eine eingebaute Methode dafür gibt (obwohl es wirklich ein eklatantes Loch in der NSSegmentedControl-API ist).

Ich empfehle, das zu tun, was Sie machen, indem Sie das Kontextmenü aufrufen. Anstatt jedoch nur den Ursprung des segmentierten Steuerelements zu verwenden, können Sie ihn wie folgt direkt unter dem Segment positionieren:

%Vor%

Es ist nicht perfekt oder ideal, aber es sollte den Job erledigen und das Aussehen / Verhalten geben, das Ihre Benutzer erwarten.

(als Nebenbedingung benötigt NSSegmentedControl wirklich eine %code% -Methode)

    
___ answer29898916 ___

Dies ist die Swift-Version der Antwort von J Hoover und der Mod von Adam Treble. Der Override war nicht so intuitiv wie ich es mir vorgestellt hatte, also wird dies hoffentlich jemand anderem helfen.

%Vor%     
___ qstntxt ___

Ich habe ein NSSegmentedControl auf meiner Benutzeroberfläche mit 4 Tasten. Das Steuerelement ist mit einer Methode verbunden, die abhängig davon, auf welches Segment geklickt wird, verschiedene Methoden aufruft:

%Vor%

In der wakeFromNib-Methode wurde an das Segment 4 ein Menü angehängt. Ich möchte, dass dieses Menü angezeigt wird, wenn der Benutzer auf das Segment klickt. An dieser Stelle wird es nur fallen, wenn der Benutzer auf & amp; hält auf der Speisekarte fest. Aus meiner Online-Recherche ergibt sich dies aufgrund der damit verbundenen Handlung.

Ich arbeite gerade daran herum, indem ich Code benutze, um den Ursprungspunkt des Segment-Steuerelements zu erhalten und das Kontextmenü mit NSMenu %code% aufzurufen, aber das ist ziemlich hacktastisch und sieht schlecht aus im Vergleich zum Standardverhalten des Menü Dropdown-Menü unter der segmentierten Kontrollzelle.

Gibt es einen Weg, wie ich das Menü nach einem einzigen Klick herunterklappen kann, anstatt die Hacking-Kontext-Menü-Sache zu machen?

    
___ answer2777270 ___

widthForSegment: gibt null zurück, wenn das Segment automatisch skaliert. Wenn Sie nicht über nicht dokumentierte APIs besorgt sind, gibt es ein rectForSegment:

  • (NSRect) rectForSegment: (NSInteger) Segment              inFrame: (NSRect) frame;

Aber um die ursprüngliche Frage zu beantworten, ist es einfacher, das Menü sofort aufzurufen, indem Sie NSSegmentedCell ableiten und 0 für (wieder undokumentiert) zurückgeben.

  • (double) _menuDelayTimeForSegment: (NSInteger) Segment;
___ tag123cocoa ___ Cocoa ist Apples Entwicklungsumgebung für MacOS, bestehend aus Foundation, Application Kit und Core Data. Verwenden Sie den "Kakao-Touch" -Tag für iOS-Fragen. ___ tag123controls ___ Verwenden Sie dieses Tag zum Programmieren von Szenarien in Bezug auf Steuerelemente (interaktive Elemente der Benutzeroberfläche). ___ tag123Verfügbarkeit ___ die Effektivität, Effizienz und Zufriedenheit, mit der bestimmte Benutzer bestimmte Ziele in bestimmten Umgebungen erreichen. Dies umfasst die Benutzerfreundlichkeit und Lernfähigkeit von Softwareanwendungen, Websites, Prozessen oder allem, mit dem ein Mensch interagiert. ___ tag123macos ___ macOS (früher bekannt als OS X oder Mac OS X) ist das Desktop-Betriebssystem von Apple, das auf Macintosh-Computern gefunden wurde. Verwenden Sie dieses Tag nur, wenn sich Ihre Frage auf die Verwendung von macOS-APIs oder Mac OS-spezifischem Verhalten bezieht, nicht weil Sie Ihren Code auf macOS ausführen. Fragen zur Verwendung oder Fehlerbehebung von macOS sind off-topic. ___ answer3346338 ___

Unterklasse NSSegmentedCell, überschreiben Sie die Methode unten und ersetzen Sie die Zellenklasse in IB. (Erfordert keine privaten APIs).

%Vor%     
___
8
Antworten

Ist es am besten, den Seitennamen vor den Namen der Site zu setzen oder umgekehrt?

Die verschiedenen Verwendungen, denen das <title> -Tag hinzugefügt wird, komplizieren die Frage ... Als Browserfenster oder Suchergebnistitel scheint es keinen großen Unterschied zu geben - es gibt genug Platz für alles und die Anz...
25.02.2009, 00:25
4
Antworten

Menü NSSegmentedControl anzeigen, wenn Segment geklickt wurde, obwohl eine Aktion festgelegt wurde

Ich habe ein NSSegmentedControl auf meiner Benutzeroberfläche mit 4 Tasten. Das Steuerelement ist mit einer Methode verbunden, die abhängig davon, auf welches Segment geklickt wird, verschiedene Methoden aufruft: %Vor% In der wakeFromNib-Met...
29.07.2009, 23:46