我创建了一个带有一些子视图和动画的UITextField子类 - 看起来像一个材料设计文本字段(我希望将它放在网上供所有人在我擦亮时使用)。
我面临的问题非常有趣。当我使用Interface Builder创建UITextField时,我无法在之后更改此UITextField的高度。我正在使用此代码,没有任何反应:
let theFrame = CGRect(origin: 40, size: CGSize(width: 200, height: 40))
myUITextField.frame = theFrame
当我在代码中创建myUITextField时(在viewDidLoad方法中),上面的代码可以正常工作。当我使用界面构建器创建它时,该代码不起作用。
有什么想法吗?
答案 0 :(得分:1)
如果您正在使用Autolayout,这可能是此时身高不变的原因,您可以通过更改{{1}上的UITextField
来更改constant
的身高控制高度。要在使用IB时获得该约束,您可以按住Ctrl键从约束拖动到NSLayoutConstraint
。
答案 1 :(得分:0)
为了能够在运行时编辑使用Interface Builder放置的UITextField的高度,您应该更改" border"使用界面构建器将该文本字段的属性设置为无。
我在创建这个子类时问了这个问题:https://github.com/KaanEmec/UIMaterialTextField
随意使用它。