Je veux aligner verticalement le texte à l'intérieur de mon UITextView (donc ce sera au milieu de celui-ci) ... Comment puis-je atteindre cet objectif? Je levai les yeux et ne trouvai aucune réponse qui pourrait m'aider.
Merci d'avance.
Liez votre textview à votre viewcontroller et nommez-le comme vous voulez (disons textView).
Dans la fonction viewDidLoad
, mettez cette ligne:
textView.centerVertically()
Puis sous la dernière accolade de votre classe, mettez cette extension:
extension UITextView {
func centerVertically() {
let fittingSize = CGSize(width: bounds.width, height: CGFloat.greatestFiniteMagnitude)
let size = sizeThatFits(fittingSize)
let topOffset = (bounds.size.height - size.height * zoomScale) / 2
let positiveTopOffset = max(1, topOffset)
contentOffset.y = -positiveTopOffset
}
}
Pour utiliser cette fonction avecSwift2
changez simplement CGFloat.greatestFiniteMagnitude
en CGFloat.max
Si vous voulez faire cela en utilisant le storyboard, vous pouvez ajouter une vue et à l'intérieur de votre textView. Ensuite, définissez les contraintes que vous avez utilisées pour textView sur la nouvelle vue. Enfin, ajoutez les contraintes suivantes à votre vue texte: