我一直试图在应用程序启动后将文本垂直居中放置在UITextView中,但未成功。无论我尝试了什么,文本都像通常那样显示在文本视图的顶部。这是照片。
只有当我键入文本时,文本才能正确居中,这是使用观察者完成的。这是我用来在viewDidLoad中居中放置文本的代码,我尝试了2种方法,均无效。
extension UITextView {
func centerText() {
self.textAlignment = .center
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
}
func alignTextVerticallyInContainer() {
var topCorrect = (self.bounds.size.height - self.contentSize.height * self.zoomScale) / 2
topCorrect = topCorrect < 0.0 ? 0.0 : topCorrect;
self.contentInset.top = topCorrect
}
}
我会这样在viewDidLoad中调用这些方法:self.goalTextView.centerText()
或self.goalTextView.alignTextVerticallyInContainer()
。因此,既然您已经了解了到目前为止我已经尝试过的内容,那么任何人都不知道如何在启动时强制将textview中的文本垂直居中?任何帮助将不胜感激。