zoukankan      html  css  js  c++  java
  • 自定义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];
  • 相关阅读:
    【面积并】 Atlantis
    【动态前k大 贪心】 Gone Fishing
    【复杂枚举】 library
    【双端队列bfs 网格图建图】拯救大兵瑞恩
    【奇偶传递关系 边带权】 奇偶游戏
    【权值并查集】 supermarket
    CF w4d3 A. Pythagorean Theorem II
    CF w4d2 C. Purification
    CF w4d2 B. Road Construction
    CF w4d2 A. Cakeminator
  • 原文地址:https://www.cnblogs.com/huluo666/p/3524199.html
Copyright © 2011-2022 走看看