更改didEndEditing中的UITextField边框样式

我想在用户编辑时突出显示uitextfield,所以我将textfield的边框样式默认设置为UITextBorderStyleNone,并使用uitextfields代表如下:

- (void)textFieldDidBeginEditing:(UITextField *)textField { [textField setBorderStyle:UITextBorderStyleBezel]; } - (void)textFieldDidEndEditing:(UITextField *)textField { [textField setBorderStyle:UITextBorderStyleNone]; } 

边框样式被设置和渲染,但是当被调用时,没有样式不被应用。 我试图改变没有到另一个(比如说圆括号),但是那个渲染是正确的。

有人知道我怎么能得到这个工作?

是的,这是一个错误。 无论如何,我已经解决了这个代码:

 textField.borderStyle = UITextBorderStyleLine; textField.borderStyle = UITextBorderStyleNone; 

这不是一个非常漂亮的方法,但它直到苹果解决这个问题。

我也有这个问题。 从我的testing中,看起来好像我可以将它设置为UITextBorderStyleNone以外的任何样式。

至less为我工作的解决方法是禁用和重新启用文本字段,如下所示:

 - (void)textFieldDidEndEditing:(UITextField *)textField { textField.enabled = NO; textField.borderStyle = UITextBorderStyleNone; textField.enabled = YES; } 

我不喜欢它,但它现在工作。