2017-02-14 51 views
0

我想在用户启动editig时在文本字段旁边显示选取器。编辑完成后,选取器消失。以编程方式设置文本字段的IOS设置宽度

因此我在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宽度被复位到原来的值。

这工作得很好。在下面的尝试与没有再次改变(达到print语句)的时间(beginEditing,endEditing)

What's走错了。

+0

你能解释一下你究竟想要做什么吗? – Rikh

+0

我想,我发现了这个问题。我使用了一些自动布局约束,它会覆盖我的问题代码中的设置。 我现在编辑textFieldDidBeginEditing和textFieldDidEndEditing中的约束。如果帖子再次打开,我会发布我的解决方案 – mica

回答

1

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

相关问题