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
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…