uipinchgesturerecognizer

___ qstnhdr ___ iOS: Skalieren von UITextView mit Pinching? ___ answer13751921 ___

Versuchen:

%Vor%

Es skaliert im Grunde die Schriftgröße und berechnet dann die Inhaltsgröße mit Ihrem Code in textViewDidChange neu.

    
___ answer32969429 ___

Fügen Sie zunächst pinchGestureRecognize in der viewDidLoad-Methode hinzu:

%Vor%

setze diese Methode in deinen viewController, um die Textfeldschrift zu skalieren:

%Vor%     
___ tag123iphone ___ Verwenden Sie diesen Tag NICHT, es sei denn, Sie wenden sich speziell an Apple's iPhone und / oder iPod touch. Verwenden Sie für nicht hardwareabhängige Fragen das Tag [ios]. Weitere zu betrachtende Tags sind [xcode] (aber nur, wenn es sich um die IDE selbst handelt), [swift], [objective-c] oder [cacao-touch] (aber nicht [cocoa]). Bitte verzichten Sie auf Fragen zum iTunes App Store oder zu iTunes Connect. Wenn Sie C # verwenden, markieren Sie mit [mono]. ___ answer13797953 ___

UITextView ist eine Unterklasse von UIScrollView und als solche müssen Sie tun, was Sie mit einer Bildlaufansicht machen, um das Zoomen zu ermöglichen:

  • legt die minimalen und maximalen Zoom-Skalierungseigenschaften fest
  • Legen Sie viewForZooming über die ScrollView-Delegate-Methode
  • fest

... zoomt die gesamte Textansicht.

Wenn Sie nur den Text zoomen möchten, müssen Sie diese Schritte mit einem Pinch-Gesten-Erkenner ausführen:

  • ruft die aktuelle attributierte Zeichenfolge
  • ab
  • Durchlaufen Sie die Schriftartenbereiche und ersetzen Sie das font-Attribut durch ein skaliertes
  • Ersetzen Sie den Text in der Textansicht durch Ihre geänderte Version
  • Wahrscheinlich müssen Sie auch die Textauswahl nach dem Einstellen des Textes einstellen
___ tag123ios ___ iOS ist das mobile Betriebssystem, das auf dem Apple iPhone, iPod touch und iPad ausgeführt wird. Verwenden Sie dieses Tag [ios] für Fragen zur Programmierung auf der iOS-Plattform. Verwenden Sie die verwandten Tags [objective-c] und [swift] für Probleme, die für diese Programmiersprachen spezifisch sind. ___ answer13801552 ___

Nicht die beste, aber einfachste Lösung wäre:

Ich kenne Ihren Anwendungsfall nicht genau, aber ich denke, es macht in vielen Fällen keinen Sinn, in einer App Pinch-Zoom beim Eintippen von Text zu unterstützen. Ich würde einfach ein Flag setzen, das den Pinch-Zoom verhindert, während der Benutzer Text schreibt.

Wenn Sie meinen, die Textansicht zu bearbeiten, können Sie die Bearbeitung zu Beginn der Pinch-Geste beenden und mit dem Bearbeiten beginnen, nachdem die Pinch-Geste beendet wurde.

    
___ tag123uigesture_recognizer ___ UIGestureRecognizer ist eine abstrakte Basisklasse für konkrete Gestenerkennungsklassen. Ein Gestenerkennerobjekt (oder einfach ein Gestenerkenner) entkoppelt die Logik zum Erkennen einer Geste und wirkt auf diese Erkennung ein. Wenn eines dieser Objekte eine gemeinsame Geste oder in einigen Fällen eine Änderung der Geste erkennt, sendet es eine Aktionsnachricht an jedes festgelegte Zielobjekt. ___ tag123uitextview ___ Die UITextView-Klasse implementiert das Verhalten für eine bildlauffähige, mehrzeilige Textregion in iOS. Die Klasse unterstützt die Anzeige von Text mit einer benutzerdefinierten Schriftart, Farbe und Ausrichtung und unterstützt auch die Textbearbeitung. In der Regel verwenden Sie eine Textansicht, um mehrere Textzeilen anzuzeigen, z. B. wenn Sie den Textkörper eines großen Textdokuments anzeigen. ___ answer24335336 ___

Um auf @Canoatinetics zu antworten, antworten Sie oben. Ich habe die Gestenhandling-Idee für attributierte Strings auf iOS 7 implementiert, aber es ist zu langsam, wenn Sie zu viele Zeichensatzänderungen in der Zeichenkette haben. Es gibt auch einen lächerlichen Puffer-Bug in iOS 7, bei dem Change-Benachrichtigungen lange brennen, nachdem Sie aufgehört haben zu kneifen - erinnert mich an den blöden Tastatur-Puffer in frühen Versionen von PC-DOS. Wie auch immer, ich habe den Code unten gesetzt, der das für mich funktioniert hat - obwohl es nur dazu geführt hat, mich zu informieren, dass das Zeitverschwendung ist und ich meinen Benutzern eine andere Möglichkeit geben muss, ihre Schriften zu skalieren.

%Vor%     
___ tag123uipinchgesture_recognizer ___ UIPinchGestureRecognizer ist eine konkrete Unterklasse von UIGestureRecognizer, die nach Gesten mit zwei Berührungen sucht. ___ qstntxt ___

Ich bin daran interessiert, %code% zu erstellen, das dynamisch expandiert, während der Text eingegeben wird, und skaliert, wenn der Benutzer den Bildschirm klemmt (ähnliches Verhalten kann in TinyPost gefunden werden).

Wenn Sie nur tippen (ohne zu kneifen), wird die textView-Funktion erweitert. Wenn Sie nur drücken (ohne zu tippen), funktioniert das gut, aber wenn Sie drücken und dann tippen, wird der Text abgeschnitten.

Hier ist mein Code:

%Vor%

Was denkst du?

    
___
5
Antworten

iOS: Skalieren von UITextView mit Pinching?

Ich bin daran interessiert, UITextView zu erstellen, das dynamisch expandiert, während der Text eingegeben wird, und skaliert, wenn der Benutzer den Bildschirm klemmt (ähnliches Verhalten kann in TinyPost gefunden werden). Wenn Sie nur tip...
02.12.2012, 12:53