自定义textFeild

#import <UIKit/UIKit.h>


@interface NDTextFieldPadding : UITextField

{

    BOOL isEnablePadding;

    float paddingLeft;

    float paddingRight;

    float paddingTop;

    float paddingBottom;

}


+ (NDTextFieldPadding *) createRightAngleRectTextFieldWithFont:(UIFont *)font;

+ (NDTextFieldPadding *) createRightAngleRectTextFieldWithFont:(UIFont *)font textAlignment:(NSTextAlignment)textAlignment;


+ (NDTextFieldPadding *) createRoundTextFieldWithFont:(UIFont *)font;

+ (NDTextFieldPadding *) createRoundTextFieldWithFont:(UIFont *)font textAlignment:(NSTextAlignment)textAlignment;


- (void)setPadding:(BOOL)enable top:(float)top right:(float)right bottom:(float)bottom left:(float)left;


@end

#import "NDTextFieldPadding.h"


@implementation NDTextFieldPadding

#pragma mark - 类方法


+ (NDTextFieldPadding *) createRightAngleRectTextFieldWithFont:(UIFont *)font

{

    return [NDTextFieldPadding createRightAngleRectTextFieldWithFont:font textAlignment:NSTextAlignmentNatural];

}


+ (NDTextFieldPadding *) createRightAngleRectTextFieldWithFont:(UIFont *)font textAlignment:(NSTextAlignment)textAlignment

{

    NDTextFieldPadding *tf = [[NDTextFieldPadding alloc] init];

    tf.textColor = [UIColor blackColor];

    tf.borderStyle = UITextBorderStyleNone;

    tf.clearButtonMode = UITextFieldViewModeWhileEditing;

    tf.textAlignment = textAlignment;

    tf.font = font;

    tf.layer.borderWidth = kSeparatorLineWidth;

    tf.layer.borderColor = kSubColor.CGColor;

    return tf;

}


+ (NDTextFieldPadding *) createRoundTextFieldWithFont:(UIFont *)font

{

    return [NDTextFieldPadding createRoundTextFieldWithFont:font textAlignment:NSTextAlignmentNatural];

}


+ (NDTextFieldPadding *) createRoundTextFieldWithFont:(UIFont *)font textAlignment:(NSTextAlignment)textAlignment;

{

    NDTextFieldPadding *tf = [[NDTextFieldPadding alloc] init];

    tf.backgroundColor = kTextFieldFillColor;

    tf.textColor = kLoginHeavyColor;

    tf.borderStyle = UITextBorderStyleNone;

    tf.clearButtonMode = UITextFieldViewModeWhileEditing;

    tf.textAlignment = textAlignment;

    tf.font = font;

    tf.layer.masksToBounds = YES;

    tf.layer.borderWidth = kSeparatorLineWidth;

    tf.layer.borderColor = kLoginColor.CGColor;

    return tf;

}


#pragma mark - 实例方法

- (void)setPadding:(BOOL)enable top:(float)top right:(float)right bottom:(float)bottom left:(float)left {

    isEnablePadding = enable;

    paddingTop = top;

    paddingRight = right;

    paddingBottom = bottom;

    paddingLeft = left;

}


#pragma mark - 重写

- (CGRect)textRectForBounds:(CGRect)bounds {

    if (isEnablePadding) {

        return CGRectMake(bounds.origin.x + paddingLeft,

                          bounds.origin.y + paddingTop,

                          bounds.size.width - paddingRight, bounds.size.height - paddingBottom);

    } else {

        return CGRectMake(bounds.origin.x, bounds.origin.y, bounds.size.width, bounds.size.height);

    }

}


- (CGRect)editingRectForBounds:(CGRect)bounds {

    return [self textRectForBounds:bounds];

}


@end




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值