2016-12-29 60 views
6

我要垂直对齐我的UITextView中的文本(所以它会在它的中间)。 我如何实现这一目标? 我抬起头,找不到任何可以帮助我的答案。如何在textView中垂直对齐文本?

在此先感谢。

+0

你必须要更具体的你想这样做从故事板或代码,如果你想从代码中使用什么版本的swift? –

+0

我用斯威夫特3.这将是更好的,如果它是从情节串连图板,但我不能看到该 – Volkan

+0

选项检查我的答案 –

回答

12

将您的TextView到你的ViewController并将它命名为你想要的(让我们说的TextView)。

viewDidLoad功能,就把这行:

textView.centerVertically() 

然后把这个扩展类的最后一个花括号下:

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 
    } 

} 

要使用此功能swift2只是改变CGFloat.greatestFiniteMagnitudeCGFloat.max

+0

我想在容器中居中“垂直”而不是“水平” – Volkan

+0

@Volkan做什么你的意思是垂直? –

+0

可以说我有只有2行的文本和我的TextView有200我要垂直居中文本 – Volkan