How to align text inside textView vertically?

后端 未结 6 1254
天命终不由人
天命终不由人 2020-12-15 04:35

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 h

6条回答
  •  一生所求
    2020-12-15 05:22

    Link your textview to your viewcontroller 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 for swift2 just change CGFloat.greatestFiniteMagnitude to CGFloat.max

提交回复
热议问题