在运行时更改UITextField的高度

时间:2015-03-31 06:02:15

标签: objective-c swift uitextfield height

我创建了一个带有一些子视图和动画的UITextField子类 - 看起来像一个材料设计文本字段(我希望将它放在网上供所有人在我擦亮时使用)。

我面临的问题非常有趣。当我使用Interface Builder创建UITextField时,我无法在之后更改此UITextField的高度。我正在使用此代码,没有任何反应:

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

当我在代码中创建myUITextField时(在viewDidLoad方法中),上面的代码可以正常工作。当我使用界面构建器创建它时,该代码不起作用。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

如果您正在使用Autolayout,这可能是此时身高不变的原因,您可以通过更改{{1}上的UITextField来更改constant的身高控制高度。要在使用IB时获得该约束,您可以按住Ctrl键从约束拖动到NSLayoutConstraint

答案 1 :(得分:0)

为了能够在运行时编辑使用Interface Builder放置的UITextField的高度,您应该更改" border"使用界面构建器将该文本字段的属性设置为无。

我在创建这个子类时问了这个问题:https://github.com/KaanEmec/UIMaterialTextField

随意使用它。