2014-07-05 98 views
17

我有一個文本屬性設置爲「hi」的UITextField對象。然而,這兩條線對「hi」的位置沒有影響如何在Swift中居中UITextField文本

myUITextObject.contentVerticalAlignment = UIControlContentVerticalAlignment.Center 
myUITextObject.contentHorizontalAlignment = UIControlContentHorizontalAlignment.Center 

這是Swift中的錯誤嗎?如果是這樣,我該如何將這個日誌記錄爲一個bug,以便Apple能夠在下一個Swift版本中修復它?

+0

@dasdom是的,沒有工作 – almel

回答

35

你會希望它這樣寫:

myUITextObject.textAlignment = .center 

(編輯從.Center改變.center)

+0

另請注意,myUITextObject.contentVerticalAlignment可以設置爲.Top,.Center,.Fill或.Bottom以影響垂直對齊。 –

+4

這隻會使文本水平居中,而'myUITextObject.contentVerticalAlignment'不再是事物。任何想法如何實現垂直居中沒有做一個奇怪的抵消黑客攻擊。 – boidkan

+0

謝謝!這是幫助完整。 – Raja

2

你正在尋找的是textAlignment屬性;試試這個:

myUITextObject.textAlignment = NSTextAlignmentCenter;

+4

在這個答案中的代碼不會在Swift中工作(它將在Objective-C中)。 – Anna

+0

@Anna你是對的,我改變了正確的答案是Dave的 – almel

+0

@Anna只是好奇,爲什麼我第一次粘貼的代碼不起作用,從其他SO帖子看來它就是這樣做的。有兩種不同的方式來做同樣的事情似乎很奇怪。 – almel

0

另一種方式來做到這一點 ,是通過使用故事板。

實際上有一個垂直和水平控制,您可以用它來對齊UITextField中的元素。 在上述的情況下對齊文本到左上角

enter image description here

希望它能幫助,