2017-03-24 10 views
8

To, co robię, aby ustawić maksymalną liczbę linii:UITextView - Ustawienie MAX linii ukrywa kursor

self.text_description.textContainer.maximumNumberOfLines = 2 
self.text_description.layoutManager.textContainerChangedGeometry(self.text_description.textContainer) 

Kiedy 3. linia ma się zacząć, kursor znika. Aby go odłożyć, muszę nacisnąć Backspace.

+0

Kursor chowa się lub pozostaje za klawiaturą? – byJeevan

Odpowiedz

3

Założenie, że kursor tekstu nie pozostaje za klawiaturą. Napisałem metodę pomocniczą, która sprawia, że ​​tekst UITextField przewija się do końca tekstu.

- (void)scrollToCaretInTextView:(UITextView *)textView animated:(BOOL)animated 
{ 
    CGRect rect = [textView caretRectForPosition:textView.selectedTextRange.end]; //Get the content size of textview 
    rect.size.height += textView.textContainerInset.bottom; 
    [textView scrollRectToVisible:rect animated:animated]; 
} 
2

Nie jestem do końca pewien, czego się spodziewasz. Jeśli chcesz mieć maksymalnie dwie linie, nie powinno być trzeciej linii.

Użyj tego:

self.text_description.textContainer.maximumNumberOfLines = 2 
self.text_description.textContainer.lineBreakMode = .byTruncatingTail 

Limit the number of lines for UITextview

Wydaje się, czego właściwie chce to TextView z wysokości dwóch linii? Jeśli to prawda, spróbuj tego w kontrolerze widoku.

self.text_description = UITextView(frame: CGRect(x: 100.0, y: 100.0, width: 200.0, height: 28.0)) 
self.text_description.backgroundColor = #colorLiteral(red: 0.8039215803, green: 0.8039215803, blue: 0.8039215803, alpha: 1) 
self.view.addSubview(self.text_description) 
Powiązane problemy