自定义textFeild

原创 2015年11月18日 19:30:03

#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




设置textfeild的属性

//初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 13...
  • iosYangming
  • iosYangming
  • 2016年01月15日 16:42
  • 277

UITextField的placeholder文字的位置,颜色等的自定义设置

UITextField的placeholder文字的位置,颜色的自定义设置
  • RainShenJi
  • RainShenJi
  • 2015年01月22日 22:49
  • 1531

UITextField通过UIPickerView显示选择内容

通过UIPickerView 选中内容在textField中编辑性别
  • amberMengling
  • amberMengling
  • 2015年09月23日 14:52
  • 1455

Android自定义View——自定义ViewPager

手把手教你制作自定义ViewPager 事先说明: 本篇文章会介绍:自定义ViewPager的创建,处理滑动监听,处理滑动冲突,增加ViewPager的指示器等 文章也会涉及到手势识别器和Scro...
  • qq_30379689
  • qq_30379689
  • 2016年08月26日 23:03
  • 4095

HTML5的自定义属性的使用总结

以前我们需要自定义属性的时候一般是这样做的,在标签里面加上我们自己设置的一些属性: 在标签里设置自定义属性 然后获取里面的值是使用getAttribute来获取自定义属性里面的值: var myDiv...
  • qq_31851435
  • qq_31851435
  • 2016年11月09日 15:44
  • 7259

Android自定义View(二、深入解析自定义属性)

转载请标明出处: http://blog.csdn.net/xmxkf/article/details/51454685 本文出自:【openXu的博客】 [TOC] 在上一篇博...
  • u010163442
  • u010163442
  • 2016年05月21日 03:53
  • 17528

iOS开发之模仿简书App自定义TabBar详解

iOS自定义TabBar
  • yq910902
  • yq910902
  • 2016年06月03日 17:30
  • 8631

自定义alert提示框

在做js前端的时候,很多时候,我们会用到alert来显示提示信息,但是不同的浏览器,alert显示出来的效果也大不相同,尤其是chrom浏览器,显示出来在顶端,用起来很不方便,为此,考虑到信息框的一致...
  • GISShiXiSheng
  • GISShiXiSheng
  • 2015年02月12日 10:44
  • 1662

实现自定义select标签

jsp自定义select标签,一次定义,多处引用
  • Mos_wen
  • Mos_wen
  • 2016年12月29日 17:27
  • 1086

c\c++复习基础要点05---assert断言及其自定义实现

assert宏:    assert宏其实很重要,对于调试程序来说。   assert宏的原型定义在assert.h中   #include    void  assert(int exp);...
  • Y_23k_bug
  • Y_23k_bug
  • 2013年09月28日 15:12
  • 1567
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:自定义textFeild
举报原因:
原因补充:

(最多只允许输入30个字)