2016-08-26 4 views
0

Je travaille sur une application de chat. La boîte de message se redimensionne en fonction de la longueur du texte, mais le texte sort de la boîte lorsque la ligne se brise.UITextVoir le texte en cours de sortie

Print's

J'ai essayé d'ajouter textView.contentInset = UIEdgeInsetsZero dans textViewDidChange méthode, mais il continue de ne pas travailler.

La fonction:

func textViewDidChange(textView: UITextView) { 

    let minSize = CGFloat(50) 
    let maxSize = UIScreen.mainScreen().bounds.height - 50 - keyboardHeight 
    let expectedSize = textView.contentSize.height + 9 

    var newSize = expectedSize < minSize ? minSize : expectedSize 
    newSize = newSize > maxSize ? maxSize : newSize 

    acessoryViewH.constant = newSize 

    textView.contentInset = UIEdgeInsetsZero 
} 

Les contraintes d'auto-mise en page:

Constraint's

Répondre

0

Essayez d'ajouter textView.layer.masksToBounds = true.

+0

Je suis désolé, je l'ai modifié la réponse. C'est 'masksToBounds' bien sûr. –

+0

Merci, c'est partiellement correct, mais maintenant au lieu du texte sortant de la boîte, c'est avec la coupe du haut. –

0

Essayez de mettre textView.clipsToBounds = true

+0

Ceci est actuellement dans la méthode viewDidLoad –

0

Ajouter ce code dans délégué textViewDidBeginEditing. C'est un travail pour moi.

textView.contentInset = UIEdgeInsetsZero; 

dans viewDidLoad

[textView setClipsToBounds:YES];