textField带下划线,改变clearButton图片
给textField都增加下划线
想法:
1、textField下边创建一个height为1的view,填充自己想要的颜色;
2、继承textField,重写textField的drawRect方法;
这里实现第二种方法
- (void)drawRect:(CGRect)rect {
// Drawing code
CGContextRef context =UIGraphicsGetCurrentContext();
//设置下划线颜色
[RGB(206,210,214) set];
CGFloaty =CGRectGetHeight(self.frame);
//设置起点
CGContextMoveToPoint(context,0, y);
//设置终点
CGContextAddLineToPoint(context,CGRectGetWidth(self.frame), y);
//设置线的宽度
CGContextSetLineWidth(context,2);
//渲染显示到self上
CGContextStrokePath(context);
}
其中关于CGContextRefcontext,可自行了解;
改变rightView
系统自带的clearButton虽然好用,但是样子难看,于是上代码
UIButton *button = [textField valueForKey:@"_clearButton"];
//下面两句话保证点击前和点击后按钮是一致的
[button setImage:[UIImage imageNamed:@"clear"] forState:UIControlStateNormal];
[button setImage:[UIImageimageNamed:@"clear"] forState:UIControlStateHighlighted];
field.clearButtonMode = UITextFieldViewModeWhileEditing;
如果你需要多处用到,也可以写到继承的drawRect方法里