Einschränken der Kopie, Einfügen-Option für ein bestimmtes UITextfield

7

Meine UIView enthält zwei UITextField.Ich muss die Option copy, paste für ein Textfeld einschränken.Ich möchte das nicht auf ein anderes beschränken.

Wenn ich den folgenden Code benutze, wird das Feld von copy, paste eingeschränkt.

%Vor%

Kann jemand mir die Lösung liefern, um mein Problem zu lösen.

    
EXC_BAD_ACCESS 25.11.2010, 16:30
quelle

4 Antworten

19

Erstellen Sie eine Unterklasse von UITextField. Implementieren Sie in dieser Unterklasse

%Vor%

Verwenden Sie dann diese Unterklasse für das Feld, in das Sie nicht kopieren möchten, und verwenden Sie ein reguläres UITextField für das Feld, aus dem Sie kopieren können.

    
Kevin Ballard 06.01.2011, 03:39
quelle
4

Folgendes verhindert, dass eine Zeichenfolge, die länger als 1 Zeichen ist, eingefügt wird. String, der 1 Zeichen lang ist, wird jedoch durchkommen (könnte für einige Leute nützlich sein - braucht keine Subklassenbildung).

Gib deinem Text zuerst einen Delegierten

%Vor%

Fügen Sie dann Ihrem ViewController die folgende Methode hinzu

%Vor%     
bdhac 04.04.2012 01:15
quelle
2

Erklärung von Apple:

  

Diese Standardimplementierung von diesem   Methode gibt YES zurück, wenn der Responder   Die Klasse implementiert die angeforderte Aktion   und ruft den nächsten Responder, wenn es   nicht. Unterklassen können dies überschreiben   Methode, um Menübefehle basierend zu aktivieren   über den aktuellen Zustand; zum Beispiel, du   würde den Kopierbefehl aktivieren, wenn dort   ist eine Auswahl oder deaktiviert das Einfügen   Befehl, wenn die Pasteboard nicht   Daten mit dem richtigen Inhalt enthalten   Pasteboard-Darstellungstyp.

Also besteht die Lösung darin, die UITextView abzuleiten und korrekt zurückzugeben.

Weitere Informationen zur Methode hier

    
vodkhang 09.01.2011 06:43
quelle
1

Ich hatte eine zufällige Idee, die in einer Textansicht perfekt funktionierte. Kein Grund, warum es in einem Textfeld nicht funktionieren würde.

Ich habe dem Textfeld, das ich einschränken wollte, Folgendes hinzugefügt:

  • Langer Druck Gestenerkenner (1 Berührung)
  • Langer Druck Gestenerkenner (2 Berührungen)
  • Tippen Sie auf Gestenerkenner (2 antippen, 1 antippen)
  • Tippen Sie auf Gestenerkennung (3 Antippen, 1 Antippen)
  • Tippen Sie auf Gestenerkenner (1 Tippen, 2 Berührungen)

Dann wurde ihm der folgende Code zugewiesen.

%Vor%

Ich kann jetzt noch durch die Textansicht scrollen, aber ein langer Tastendruck oder Doppeltippen macht jetzt gar nichts!

    
user2224531 27.08.2013 17:57
quelle