2017-03-15 2 views
1

Ich habe eine Tableview mit einem Objekt TaskCell das ist eine Unterklasse von UITableViewCellUITextView - Begin In UITableViewCell Ausgewählte Mit All Text bearbeiten()

Die textView ist in den TaskCell und alles funktioniert gut, außer ich diese Zeile nicht bekommen kann Code, um den gesamten Text in der Textansicht auszuwählen, so dass der Benutzer den Text sofort überschreiben kann, wenn er dies wünscht. So als würdest du auf "Alles auswählen" tippen, nachdem du auf den Tipp des Textes geklickt hast.

textView.selectedTextRange = textView.textRange(from: textView.beginningOfDocument, to: textView.endOfDocument) 

_

// All code relating to textView 
class TaskCell: UITableViewCell { 

    @IBOutlet weak var textView: UITextView! { didSet { initTextView() } } 

    fileprivate func initTextView() { 
    textView.delegate = self 
    } 
} 

extension TaskCell: UITextViewDelegate { 
    func textViewDidBeginEditing(_ textView: UITextView) { 
    textView.selectedTextRange = textView.textRange(from: textView.beginningOfDocument, to: textView.endOfDocument) 
    } 
} 


// class ListViewController: ViewController, UITableViewDataSource, UITableViewDelegate 
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! TaskCell 

    return cell 
} 

Antwort

2

Sie haben zwei Möglichkeiten:

[yourtextView selectAll:nil];  //highlights text 
[yourtextView selectAll:self];  //highlights text and shows menu(cut copy paste) 

in Ihrem Fall wird dieser es lösen:

- (BOOL)textViewDidBeginEditing:(UITextView *)textView { 
    dispatch_async(dispatch_get_main_queue(), ^{ 
    [textView selectAll:nil]; 
    }); 
    return YES; 
} 

Swift 3.0

func textViewDidBeginEditing(_ textView: UITextView) { 
    DispatchQueue.main.async { 
     textView.selectAll(nil) 
    } 
} 

enter image description here

+0

weder Option funktioniert – lifewithelliott

+0

es funktionierte bei mir einfach Sie es in der Situation anwenden sollten Sie https://i.stack.imgur.com/sGdSf.png –

+0

es funktioniert für Beispiel in textViewDidChange, sobald ich etwas eintippe, markiert es den gesamten Text. aber nur nicht in textViewDidBeginEditing. – lifewithelliott

Verwandte Themen