2015-03-31 63 views
0

我創建了一個帶有一些子視圖和動畫的UITextField子類 - 看起來像材質設計文本框(我想將它放到在線供每個人在打磨時使用)。在運行時更改UITextField的高度

我面對的問題相當有趣。當我使用Interface Builder創建UITextField時,我無法在之後更改此UITextField的高度。我使用此代碼,並沒有任何反應:

let theFrame = CGRect(origin: 40, size: CGSize(width: 200, height: 40)) 
    myUITextField.frame = theFrame 

當我在代碼中創建myUITextField(在viewDidLoad方法)上面的代碼工作。當我使用界面構建器創建它時,該代碼不起作用。

任何想法?

+0

您是否在使用自動佈局? – Ian 2015-03-31 06:06:17

+0

myUITextField.frame = theFrame as cgrect – 2015-03-31 06:17:37

+0

如果您使用的是自動佈局,那麼您不能,您需要在您的界面構建器中禁用自動佈局 – 2015-03-31 07:28:41

回答

0

爲了能夠在運行時編輯使用Interface Builder放置的UITextField的高度,應該使用界面構建器將該文本字段的「border」屬性更改爲none。

我問這個在創建這個子類:https://github.com/KaanEmec/UIMaterialTextField

隨意使用它。

1

如果您使用自動佈局,這可能是高度目前還不改變的原因,你可以通過在NSLayoutConstraint改變constant控制高度改變你UITextField的高度。爲了在使用IB的時候獲得這個約束,你可以通過ctrl-drag從約束到你的UIViewController

相關問題