Frage

Ich möchte eine Zeichenfolge erfassen in eine Steuer eingefügt werden und einige benutzerdefinierte gelten für die Zeichenfolge Formatierung vor eingefügt werden.

Wie ist das möglich?

Danke!

War es hilfreich?

Lösung

außer Kraft setzen paste: Ihrer Ansicht / Steuerung (Paste: ist Teil des UIResponderStandardEditActions informellen Protokoll). Am einfachsten, würden Sie dies tun:

- (void)paste:(id)sender
{
   UIPasteboard* pasteboard = [UIPasteboard generalPasteboard];
   NSString* rawString = pasteboard.string;
   NSString* formattedString =  // do something fun with rawString here
   pasteboard.string = formattedString;
   [super paste:sender];
}

Dies wird vorausgesetzt, Sie nicht etwas schrecklich Phantasie mit der Zeichenfolge tun müssen (wie animierte Smileys oder etwas einfügen), in diesem Fall sollten Sie super nicht nennen, aber tun das Einsetzen selbst (wenn Sie dies auf einem tun UITextView können Sie die selectedRange Eigenschaft verwenden, um die Einfügung richtig zu tun).

EDIT: Um Daten von einem NSPasteBoard Sie –stringForType: oder eine mehrere andere Datenzugriffsmethoden . Sie könnten die Zeichenfolge / Daten validieren müssen, es ist etwas stellen Sie sicher, die eingefügt werden können.

Sie sollten wahrscheinlich nicht nennen super aber die Verwendung

[self insertText:formattedString];

Wenn Sie dies auf einem NSTextView tun. Wenn Sie mit einer anderen Klasse arbeiten müssen Sie herausfinden, was in diesem Zusammenhang geeignet ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top