2017-05-10 1 views

Antwort

0

Sie zum Delegatmethode

textView:shouldChangeTextInRange:replacementString: und dann prüfen, ob das, was eingegeben wird, ist eine Ziffer (verwenden Sie einen characterSet für diese) reagieren konnten. Wenn es eine Ziffer ist, geben Sie YES zurück; Wenn nicht, gib NO zurück.

Oder vielleicht den Tastaturtyp nur auf Ziffern ändern.

+0

Dies bricht Kopieren und Einfügen, im Gegensatz zu der Erfahrung mit einem Formatierer, wo Sie durch eine normalisierte Zeichenfolge ersetzen können. –

+0

Ja, ich habe nach der Antwort festgestellt, dass es mit Copy & Paste nicht funktioniert. – Koen

0

eine Unterklasse von NSTextView Erstellen und

- (void)insertText:(id)string replacementRange:(NSRange)replacementRange 

Streifen der Nicht-Ziffern von string und ruft Super außer Kraft setzen.

Aufschalten

- (BOOL)readSelectionFromPasteboard:(NSPasteboard *)pboard type:(NSString *)type 

Paste zu fangen und fallen.

Verwandte Themen