如何在iPhone应用程序中设置uitextfield bordercolor

时间:2013-03-22 14:13:02

标签: iphone ios objective-c

当我们在textfield和textview中输入或编辑时,如何以编程方式设置uitextfield和UITextView边框颜色。

我使用了此代码,但未更改UITextView的边框颜色。

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
    textField.layer.borderColor=[[UIColor cyanColor] CGColor];
}

4 个答案:

答案 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];
}

您可以在http://developer.apple.com/library/ios/#documentation/uikit/reference/UITextFieldDelegate_Protocol/UITextFieldDelegate/UITextFieldDelegate.html

的文档中详细了解UITextFieldDelegate方法