5

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

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

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

4

5 回答 5

5

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

- (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;
}

输出看起来像这样:-

在此处输入图像描述

于 2013-09-21T06:28:20.310 回答
1

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

打电话

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

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

于 2014-11-26T05:27:27.737 回答
0

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

检查此响应:https ://stackoverflow.com/a/29033559/1658831

于 2015-03-13T13:33:57.120 回答
0

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

于 2013-09-21T04:39:07.217 回答
0

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

yourTextField.backgroundColor = 
 [UIColor colorWithPatternImage:[UIImage imageNamed:@"yourBorderedImageName"]];
于 2013-09-21T05:54:15.997 回答