有时候需要自定义TextField。
先写一个类继承UITextField,然后选择重写一个和多个下列方法。
使用的时候直接使用这个子类,就可以达到自定义的目的了。
@interface CustomTextField : UITextField
@end
@implementation CustomTextField
- (CGRect)textRectForBounds:(CGRect)bounds
{
//重写文本的绘制区域
CGRect rect;
return rect;
}
- (void)drawTextInRect:(CGRect)rect
{
//在指定的矩形范围内绘制接收到的文本
}
- (CGRect)placeholderRectForBounds:(CGRect)bounds
{
//重写文本占位符的绘制矩形
CGRect rect;
return rect;
}
- (void)drawPlaceholderInRect:(CGRect)rect
{
//重写文本占位符的颜色和字体
[RGBCOLOR(220, 220, 220) setFill];
[[self placeholder] drawInRect:rect withFont:[UIFont fontWithName:@"Arial-BoldMT" size:20]];
}
- (CGRect)borderRectForBounds:(CGRect)bounds
{
//重写边界矩形
CGRect rect;
return rect;
}
- (CGRect)editingRectForBounds:(CGRect)bounds
{
//重写编辑区域矩形
CGRect rect;
return rect;
}
- (CGRect)clearButtonRectForBounds:(CGRect)bounds
{
//重写clearButton的矩形
CGRect rect;
return rect;
}
- (CGRect)leftViewRectForBounds:(CGRect)bounds
{
//重写leftView的矩形
CGRect rect;
return rect;
}
- (CGRect)rightViewRectForBounds:(CGRect)bounds
{
//重写rightView的矩形
CGRect rect;
return rect;
}
@end