IOS以编程方式设置文本字段的宽度

时间:2017-02-14 13:03:14

标签: ios swift uitextfield

当用户启动editig时,我想在文本字段旁边显示一个选择器。编辑后,选择器消失。

因此我在textFieldDidBeginEditing中更改了这样的文本字段的宽度:

func textFieldDidBeginEditing(_ textField: UITextField)
{ print ("textFieldDidBeginEditing")
   let newSize = CGSize(width: 90.0, height:  textfield.frame.height)
   let newFrame = CGRect(origin: textfield.frame.origin, size: newSize)
   textfield.frame = newFrame
}

在textFieldDidEndEditing中,宽度重置为旧值。

这时工作正常(beginEditing,endEditing) 在以下尝试中,不会再次更改with(达到打印语句)

出了什么问题。

1 个答案:

答案 0 :(得分:1)

在我的测试项目中一切正常,请在设置新框架后尝试插入textfield.setNeedsDisplay()。