自定义UITextField(UITextField重写)

//  CustomField.h
#import <UIKit/UIKit.h>
@interface CustomField : UITextField @end
//  CustomField.m


#import "CustomField.h"

@implementation CustomField

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
    }
    return self;
}

/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
 */
- (void)drawRect:(CGRect)rect
{
    // Drawing code
}
 
 -(CGRect)clearButtonRectForBounds:(CGRect)bounds
 {
 return CGRectMake(bounds.origin.x +bounds.size.width - 40,bounds.origin.y+bounds.size.height/2-16/2, 16, 16);
 }
 //bounds.size.height -20
 //控制placeHolder的位置,左右缩20
 -(CGRect)placeholderRectForBounds:(CGRect)bounds
 {
 //return CGRectInset(bounds,20, 0);
 CGRect inset= CGRectMake(bounds.origin.x+10, bounds.origin.y+5, bounds.size.width -10, bounds.size.height);
 return inset;
 }
 //控制显示文本的位置
 -(CGRect)textRectForBounds:(CGRect)bounds
 {
 CGRect inset= CGRectMake(bounds.origin.x+10, bounds.origin.y, bounds.size.width -10, bounds.size.height);//更好理解些
 
 return inset;
 
 }
 //控制编辑文本的位置
 -(CGRect)editingRectForBounds:(CGRect)bounds
 {
 //return CGRectInset(bounds, 10 , 0 );
 
 CGRect inset= CGRectMake(bounds.origin.x +10, bounds.origin.y, bounds.size.width -10, bounds.size.height);
 return inset;
 }
 //控制左视图位置
 - (CGRect)leftViewRectForBounds:(CGRect)bounds
 {
 CGRect inset= CGRectMake(bounds.origin.x +10, bounds.origin.y, bounds.size.width-250, bounds.size.height);
 return inset;
 //returnCGRectInset(bounds,50,0);
 }

- (CGRect)rightViewRectForBounds:(CGRect)bounds;
{
    CGRect inset= CGRectMake(bounds.origin.x +bounds.size.width-30, bounds.origin.y+bounds.size.height/2-10,20,20);
    return inset;
}

 //控制placeHolder的颜色、字体
 - (void)drawPlaceholderInRect:(CGRect)rect
 {
 //CGContextRef context =UIGraphicsGetCurrentContext();
 //CGContextSetFillColorWithColor(context,[UIColor yellowColor].CGColor);
 [[UIColor brownColor] setFill];
 
 [[self placeholder] drawInRect:rect withFont:[UIFont systemFontOfSize:18]];
   
 }
@end
 

//  使用方法,在XXXViewController里导入#import "CustomField.h"

   CustomField  *myField=[[CustomField  alloc]init];

转载于:https://www.cnblogs.com/hl666/p/3655278.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值