您的位置:首页 > 产品设计 > UI/UE

自定义IOS的UITextField

2013-05-20 09:17 323 查看
自定义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的自定义的全部过程了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: