I want to align vertically the text inside my UITextView (so it will be in the middle of it). How can i achieve that? I looked up and could not find any answer that could help me.
Thanks in advance.
Link your Text View to your View Controller and name it as you want (let's say textView
).
In viewDidLayoutSubviews
function put this line:
textView.centerVertically()
Then under the last curly bracket of your class put this 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
}
}
To use this function in Swift 2.0
just change CGFloat.greatestFiniteMagnitude
to CGFloat.max