Ich habe ein UILabel, aber wie kann ich dem Benutzer erlauben, einen Teil seines Textes auszuwählen. Ich möchte nicht, dass der Benutzer den Text oder das Label/Textfeld bearbeiten kann, um einen Rahmen zu erhalten.Erlaube dem Benutzer, Text von UILabel zu kopieren
Antwort
Es ist nicht möglich mit UILabel
.
Sie sollten UITextField
dafür verwenden. Deaktivieren Sie einfach die Bearbeitung mit der Delegate-Methode textFieldShouldBeginEditing
.
Aber das wird die 3D-Grenze haben, nicht wahr? –
Ich benutze UITextField vor ein paar Wochen und ich erinnere mich, dass es keine Grenze gab (es wurde in xib erstellt). Wenn Ihr UITextField einen Rahmen hat, dann lesen Sie einfach die Dokumentation, um herauszufinden, wie Sie den Rahmen deaktivieren können. – Yuras
http://developer.apple.com/library/ios/#documentation/uikit/reference/UITextField_Class/Reference/UITextField.html [textField setBorderStyle: UITextBorderStyleNone] – Yuras
Sie verwenden ein UITextView erstellen und .editable
auf NO. Dann haben Sie eine Textansicht, die (1) der Benutzer nicht bearbeiten kann (2) keinen Rahmen hat und (3) der Benutzer kann Text von ihm auswählen.
Eine schlechte Version von Copy and Paste, wenn Sie eine Textansicht nicht verwenden können oder müssen, wäre das Hinzufügen einer Gestenerkennung zum Label und dann einfach den gesamten Text in die Zwischenablage kopieren. Es ist nicht möglich, nur einen Teil zu tun, es sei denn, Sie verwenden eine UITextView
Stellen Sie sicher, dass Sie den Benutzer wissen, dass es kopiert wurde und dass Sie sowohl eine einzelne Tippgeste als auch ein langes Drücken unterstützen, da es die Benutzer abholen wird um einen Teil des Textes hervorzuheben. Hier ist ein bisschen von Beispielcode zum Einstieg:
Registrieren Sie die Geste Erkenner auf dem Etikett, wenn Sie es schaffen:
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(textTapped:)];
UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(textPressed:)];
[myLabel addGestureRecognizer:tap];
[myLabel addGestureRecognizer:longPress];
[myLabel setUserInteractionEnabled:YES];
nächstes die Gesten umgehen:
- (void) textPressed:(UILongPressGestureRecognizer *) gestureRecognizer {
if (gestureRecognizer.state == UIGestureRecognizerStateRecognized &&
[gestureRecognizer.view isKindOfClass:[UILabel class]]) {
UILabel *someLabel = (UILabel *)gestureRecognizer.view;
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
[pasteboard setString:someLabel.text];
...
//let the user know you copied the text to the pasteboard and they can no paste it somewhere else
...
}
}
- (void) textTapped:(UITapGestureRecognizer *) gestureRecognizer {
if (gestureRecognizer.state == UIGestureRecognizerStateRecognized &&
[gestureRecognizer.view isKindOfClass:[UILabel class]]) {
UILabel *someLabel = (UILabel *)gestureRecognizer.view;
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
[pasteboard setString:someLabel.text];
...
//let the user know you copied the text to the pasteboard and they can no paste it somewhere else
...
}
}
nette Antwort, aber Sie sollten eine Zeile Code hinzufügen: myLabel.userInteractionEnabled = YES; – Ilario
- 1. Erlaube dem Benutzer, Text in ein HTML5 Canvas-Spiel einzugeben
- 2. SonataMediaBundle: Erlaube dem Benutzer den Link hochzuladen
- 3. Erlaube dem Benutzer, zwischen verschiedenen Diagrammen zu wählen
- 4. Erlaube dem Benutzer, Button-Text bei langem Klicken in Android zu bearbeiten
- 5. HTML-Text vor dem Kopieren
- 6. Schnelle iOS. Mehrzeilige UILabel Hintergrundfarbe, um dem Text zu folgen
- 7. Kopieren von Text von Vim zu Windows
- 8. Mehrfarbiger UILabel-Text
- 9. Erlaube dem Benutzer ausgewählt Global Theme für Winform-App
- 10. UILabel mit Text durchgestrichen
- 11. UILabel Text nicht wrapping
- 12. UILabel Text Verpackung Ausgabe
- 13. Insert-Text in UILabel von links
- 14. So ändern Sie UILabel Text mit Benutzer Nachricht eingeben
- 15. CAGradiantLayerHides mein UILabel Text
- 16. UILabel - Wordwrap-Text
- 17. UILabel Text nicht Wortumbruch
- 18. Objective C - UILabel als Text für Benutzer in UITextField aktualisieren
- 19. Wie URL + Text zu einem UILabel Text gesetzt werden
- 20. machen UILabel Text fett
- 21. Wie richtet man UILabel Text von unten?
- 22. UILabel berühren und den Text, wo berührt zu bekommen
- 23. Hinzufügen von Unterstreichungsattributen zu partiellem Text UILabel in Storyboard
- 24. Größe der Höhe von UILabel anpassen, um Text zu passen
- 25. Erstellen von Text Stroke für UILabel iphone
- 26. Kopieren von Text aus dem Nano-Editor in die Shell
- 27. Linie vor und nach dem Text in UILabel
- 28. Update UILabel Text in Schleife
- 29. Erlaube Benutzer 32bit Version auf 64bit Windows zu installieren
- 30. Umgang mit Text kopieren/einfügen von Word
Verwendung https: //github.com/hoteltonight/HTCopyableLabel –