我们经常会看见很多漂亮的UITextField,但是系统的UITextField还是相对比较简单的,往往并不能符合我们的需求。那到底该怎么实现呢,其实也不是很难,只要我们新建一个CustomTextField 类,继承UITextField,重新drawRect即可.
主要代码:
.h
#import <UIKit/UIKit.h> @interface mCustomTextField : UITextField @end
.m
// // mCustomTextField.m // MapDemo // // Created by Carl on 13-7-20. // Copyright (c) 2013年 contact..com. All rights reserved. // #import "mCustomTextField.h" @implementation mCustomTextField - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { // Initialization code } return self; } -(CGRect)textRectForBounds:(CGRect)bounds { return CGRectInset(bounds, 5, 0); } -(CGRect)editingRectForBounds:(CGRect)bounds { return CGRectInset(bounds,5,0); } -(void)drawRect:(CGRect)rect { UIImage * backgroundImage = [[UIImage imageNamed:@"text_field_teal.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(15.0, 5.0, 15.0, 5.0)]; [backgroundImage drawInRect:[self bounds]]; } /* // Only override drawRect: if you perform custom drawing. // An empty implementation adversely affects performance during animation. - (void)drawRect:(CGRect)rect { // Drawing code } */ @end