Folgendes Problem:
Ich habe ein mehrzeiliges Eingabefeld für Text, dass bei mehr Text als Platz einen Scrollbalken einblenden soll.
Schon klar, wenn ich mit einem NSTextField arbeite und die Scrollfähigkeit haben möchte, sollte ich am Einfachsten auf NSTextView umsteigen. Aber das geht aus folgendem Grund nicht:
Mein NSTextField ist ein NSTokenField (was wiederum von NSTextField abgeleitet ist).
NSTextView fällt also aus.
Das NSTextField einfach in einen NSScrollView zu packen reicht natürlich nicht, irgendwie muss der Frame des TextFields bei Änderung des Textes (bzw. der Größe des Scrollviews) angepasst werden.
Bisher versuche ich dies mit Hilfe einer Funktion in meiner Ableitung von NSTextField (bzw. NSTokenField) zu erledigen, die bei jeder Änderung des Textes bzw. Größenänderung des umgebenden Scrollviews aufgerufen wird.
Das funktioniert irgendwie auch so halb, aber eben nicht richtig.
Eines meiner Hauptprobleme derzeit ist, den Textcursor im sichtbaren Bereich zu halten.
Dazu rufe ich bisher die Funktion scrollRangeToVisible des FieldEditors auf:
Das klappt manchmal, aber nicht immer. Ich habe bisher kein Muster herausfinden können, wann es klappt und wann nicht.
Ich habe auch noch ein paar Probleme (Ungenauigkeiten) bei der Berechnung der aktuellen Höhe des NSTextField aufgrund des augenblicklichen Inhalts.
Hat zufällig jemand sowas schon mal für NSTextField oder NSTokenField gemacht und hat mir ein paar Tipps?
Ich habe ein mehrzeiliges Eingabefeld für Text, dass bei mehr Text als Platz einen Scrollbalken einblenden soll.
Schon klar, wenn ich mit einem NSTextField arbeite und die Scrollfähigkeit haben möchte, sollte ich am Einfachsten auf NSTextView umsteigen. Aber das geht aus folgendem Grund nicht:
Mein NSTextField ist ein NSTokenField (was wiederum von NSTextField abgeleitet ist).
NSTextView fällt also aus.
Das NSTextField einfach in einen NSScrollView zu packen reicht natürlich nicht, irgendwie muss der Frame des TextFields bei Änderung des Textes (bzw. der Größe des Scrollviews) angepasst werden.
Bisher versuche ich dies mit Hilfe einer Funktion in meiner Ableitung von NSTextField (bzw. NSTokenField) zu erledigen, die bei jeder Änderung des Textes bzw. Größenänderung des umgebenden Scrollviews aufgerufen wird.
Das funktioniert irgendwie auch so halb, aber eben nicht richtig.
Eines meiner Hauptprobleme derzeit ist, den Textcursor im sichtbaren Bereich zu halten.
Dazu rufe ich bisher die Funktion scrollRangeToVisible des FieldEditors auf:
Das klappt manchmal, aber nicht immer. Ich habe bisher kein Muster herausfinden können, wann es klappt und wann nicht.
Ich habe auch noch ein paar Probleme (Ungenauigkeiten) bei der Berechnung der aktuellen Höhe des NSTextField aufgrund des augenblicklichen Inhalts.
Hat zufällig jemand sowas schon mal für NSTextField oder NSTokenField gemacht und hat mir ein paar Tipps?
Bevor man jemanden kritisiert, sollte man zuerst ein paar Meilen in dessen Schuhen gehen!
Erstens ist man dann in sicherem Abstand und zweitens hat man die Schuhe...
Erstens ist man dann in sicherem Abstand und zweitens hat man die Schuhe...