当我们在textfield和textview中输入或编辑时,如何以编程方式设置uitextfield和UITextView
边框颜色。
我使用了此代码,但未更改UITextView
的边框颜色。
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
textField.layer.borderColor=[[UIColor cyanColor] CGColor];
}
答案 0 :(得分:25)
请勿忘记: #Import <QuartzCore/QuartzCore.h>
工作代码:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
textField.layer.cornerRadius=8.0f;
textField.layer.masksToBounds=YES;
textField.layer.borderColor=[[UIColor redColor]CGColor];
textField.layer.borderWidth= 1.0f;
return YES;
}
答案 1 :(得分:1)
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
声明是否允许用户编辑文本字段。将方法更改为:
- (void)textFieldDidBeginEditing:(UITextField *)textField {
textField.layer.borderColor=[[UIColor cyanColor] CGColor];
}
答案 2 :(得分:1)
为UITextField
提供边框和颜色。
添加#import "QuartzCore/QuartzCore.h"
fram work。
textField.layer.borderColor = [UIColor lightGrayColor].CGColor; // set color as you want.
textField.layer.borderWidth = 1.0; // set borderWidth as you want.
答案 3 :(得分:0)
编辑文本字段时,有很多方法看起来非常相似。您正在尝试使用-textFieldShouldBeginEditing:
。根据文档textFieldShouldBeginEditing,“询问委托是否应该在指定的文本字段中开始编辑。”用法是,“当用户执行通常会启动编辑会话的操作时,文本字段首先调用此方法以查看编辑是否应该实际进行。在大多数情况下,您只需从此方法返回YES以允许编辑继续。”这不是你不想做的事。
相反,您应该使用-textFieldDidBeginEditing:
。此方法“告诉委托者已开始为指定的文本字段进行编辑。”它,“通知代理指定的文本字段刚刚成为第一个响应者。您可以使用此方法更新代理的状态信息。例如,您可以使用此方法显示编辑时应该可见的叠加视图。”< / p>
这意味着您的代码应该改为:
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
textField.layer.borderColor=[[UIColor cyanColor] CGColor];
}
到
-(BOOL)textFieldDidBeginEditing:(UITextField *)textField {
textField.layer.borderColor=[[UIColor cyanColor] CGColor];
}
的文档中详细了解UITextFieldDelegate
方法