自定义IOS的UITextField

自定义UITextField,自定义常态下的背景图片和输入下的高亮背景图片

先上效果图


上代码

#import <UIKit/UIKit.h>

@interface MyUITextField : UITextField {
    //输入框常态背景
    UIImage* textFieldNormalBackground_;
    //输入框高亮背景
    UIImage* textFieldHilightBackground_;
}
@property(nonatomic,strong) UIImage* textFieldNormalBackground;
@property(nonatomic,strong) UIImage* textFieldHilightBackground;
@end

//
//  MyUITextField.m
//  MagicLights
//
//  Created by chendy on 13-5-16.
//  Copyright (c) 2013年 chendy. All rights reserved.
//

#import "MyUITextField.h"

@implementation MyUITextField
@synthesize textFieldNormalBackground=textFieldNormalBackground_,textFieldHilightBackground=textFieldHilightBackground_;
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
    // Drawing code
}
 */

-(id)initWithCoder:(NSCoder *)aDecoder {
    self = [super initWithCoder:aDecoder];
    if (self) {
        textFieldNormalBackground_ = [UIImage imageNamed:@"输入框常态.png"];
        textFieldHilightBackground_ = [UIImage imageNamed:@"输入框选中.png"];
    }
    return self;
}

//定义文本内位置,右移,缩小区域,与背景图匹配
-(CGRect)textRectForBounds:(CGRect)bounds {
    return CGRectMake(bounds.origin.x+15.0f, bounds.origin.y, bounds.size.width-30.0f, bounds.size.height);
}
//定义编辑框位置,右移,缩小编辑区域,与背景图匹配
-(CGRect)editingRectForBounds:(CGRect)bounds {
    return CGRectMake(bounds.origin.x+15.0f, bounds.origin.y, bounds.size.width-30.0f, bounds.size.height);
}

-(void)setTextFieldNormalBackground:(UIImage *)textFieldNormalBackground {
    textFieldNormalBackground_ = textFieldNormalBackground;
    self.background = textFieldNormalBackground;
}

-(BOOL)resignFirstResponder {
    self.background = textFieldNormalBackground_;
    return [super resignFirstResponder];
}

-(BOOL)becomeFirstResponder {
    self.background = textFieldHilightBackground_;
    return [super becomeFirstResponder];
}

@end

界面配置如下:

1、将Class改为MyUITextField

2、Border Style改为第一个“无”



以上就是UITextView的自定义的全部过程了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值