2016-12-29 100 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