UITextfield borderColor和文本字段一侧的宽度

时间:2013-09-21 04:25:57

标签: ios uitextfield ios7 formborderstyle

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

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

但是左边可能只有一个更大的边框,它是不同的颜色? 或者我是否需要使用我想要的颜色和位置来定位drawRect?

5 个答案:

答案 0 :(得分: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];

}

此Bellow代理代码在textfield中的某个空格后启动

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

OUTPUT看起来像这样: -

enter image description here

答案 1 :(得分:1)

我刚写了this small category,可以在视图的一侧轻松添加指定颜色和粗细的边框。这取决于优秀的PureLayout,因为边框会自动调整视图,我不想使用Auto Layout的原生API来编写所有这些内容。

致电

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

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

答案 2 :(得分:0)

不,我认为可以将文本视图的borderStyle设置为UITextBorderStyleNone,然后您可以将它们置于您想要的任何位置之上。在Facebook的情况下,它看起来像是在桌面视图之上,但你可以把任何图像放在它们后面。

答案 3 :(得分:0)

您可以创建一个带有单边框的图片,并将其设置为background的{​​{1}}:

UITextField

答案 4 :(得分:0)

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

检查此回复:https://stackoverflow.com/a/29033559/1658831