Link the text view to your viewcontroller and name it whatever you want (say, textView).
In the viewDidLayoutSubviews
function viewDidLayoutSubviews
insert this line:
textView.centerVertically()
Then, under the last brace 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 for swift2
, just change CGFloat.greatestFiniteMagnitude
to CGFloat.max
source share