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 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?
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%Fügen Sie zunächst pinchGestureRecognize in der viewDidLoad-Methode hinzu:
%Vor%setze diese Methode in deinen viewController, um die Textfeldschrift zu skalieren:
%Vor%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:
... zoomt die gesamte Textansicht.
Wenn Sie nur den Text zoomen möchten, müssen Sie diese Schritte mit einem Pinch-Gesten-Erkenner ausführen:
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.
Tags und Links iphone ios uitextview uigesturerecognizer uipinchgesturerecognizer