UITextfield borderColor and width on one side of the text field

。_饼干妹妹 提交于 2019-12-07 04:20:45

问题


I have a text field setup like so:

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

But is it possible to just have a larger border on the left side and it be a different color? Or do I have to position a drawRect there with the color I want and position?


回答1:


try with this code might be help's you add Border left side of custom TextFiled like 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];

}

This Bellow delegate Code for start after some space in textfield

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

OUTPUT look like this:-




回答2:


I just wrote this small category to easily add a border of a specified color and thickness on one side of a view. It depends on the excellent PureLayout, since the border resizes automatically with the view and I didn't want to write all this using Auto Layout's native API.

Just call

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

You can call it several times to add borders on different edges.




回答3:


Nope, i font think its possible you can Set the borderStyle of your text view to UITextBorderStyleNone and then you can place them on top of whatever you want. In Facebook's case, it looks like they're on top of a table view, but you could put any image behind them.




回答4:


you can create one image with one sided border and set it to the background of your UITextField :

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



回答5:


I think the best way is adding a category on UIView, but addings borders as views instead of as CALayers so they can resize correctly using AutoresizingMasks.

Check this response: https://stackoverflow.com/a/29033559/1658831



来源:https://stackoverflow.com/questions/18928872/uitextfield-bordercolor-and-width-on-one-side-of-the-text-field

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!