文本字段一侧的 UITextfield 边框颜色和宽度

Posted

技术标签:

【中文标题】文本字段一侧的 UITextfield 边框颜色和宽度【英文标题】:UITextfield borderColor and width on one side of the text field 【发布时间】:2013-09-21 04:25:56 【问题描述】:

我有一个这样的文本字段设置:

textField.borderStyle = UITextBorderStyleLine;
textField.layer.borderColor = [[UIColor greenColor] CGColor];
textField.layer.borderWidth= 10.0f;'

但是是否有可能在左侧有一个更大的边框并且它是不同的颜色? 还是我必须用我想要的颜色和位置放置一个drawRect?

【问题讨论】:

【参考方案1】:

尝试使用此代码可能会帮助您添加自定义 TextFiled 左侧的边框,如波纹管:-

- (void)viewDidLoad


    [super viewDidLoad];
    UIView *bottomBorder = [[UIView alloc]
                            initWithFrame:CGRectMake(0,0,4,txtField.frame.size.height)];
    bottomBorder.backgroundColor = [UIColor redColor];
    [txtField addSubview:bottomBorder];


此波纹管委托代码在文本字段中的一些空格后开始

- (void)textFieldDidBeginEditing:(UITextField *)textField 
    UIView *paddingView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 5, 20)];
    textField.leftView = paddingView;
    textField.leftViewMode = UITextFieldViewModeAlways;

输出看起来像这样:-

【讨论】:

【参考方案2】:

我刚刚写了this small category,以便在视图的一侧轻松添加指定颜色和厚度的边框。这取决于出色的PureLayout,因为边框会随着视图自动调整大小,我不想使用 Auto Layout 的原生 API 编写所有这些。

只要打电话

[myView addBorder:ALEdgeLeft withColor:[UIColor blueColor] width:2.0f];

您可以多次调用它以在不同边缘添加边框。

【讨论】:

【参考方案3】:

不,我认为您可以将文本视图的borderStyle 设置为UITextBorderStyleNone,然后您可以将它们放在您想要的任何内容之上。在 Facebook 的例子中,它们看起来像是在表格视图的顶部,但您可以在它们后面放置任何图像。

【讨论】:

【参考方案4】:

您可以创建一个带有一侧边框的图像并将其设置为您的UITextFieldbackground

yourTextField.backgroundColor = 
 [UIColor colorWithPatternImage:[UIImage imageNamed:@"yourBorderedImageName"]];

【讨论】:

【参考方案5】:

我认为最好的方法是在 UIView 上添加一个类别,但将边框添加为视图而不是 CALayers,以便它们可以使用 AutoresizingMasks 正确调整大小。

查看此回复:https://***.com/a/29033559/1658831

【讨论】:

以上是关于文本字段一侧的 UITextfield 边框颜色和宽度的主要内容,如果未能解决你的问题,请参考以下文章

删除边框时,文本字段的内容被修剪

如何在 Swift 中的 UITextField 下显示错误

三边圆形文本输入字段,一侧矩形颤动

QML - 控制Rectangle元素任何一侧的边框宽度和颜色

UITableView 和 UITextField 边框颜色问题

UITextField 不会正确更改文本颜色