UITextField使用的一些细节

简介:

UITextField使用的一些细节

这篇博文是我自己使用UITextField的一些总结,并没有太多营养,并会持续更新。

2014.9.15

--------------------------------------------------------------------------------------------------------------------------------------

源码:

//
//  RootViewController.m
//  UITextField
//
//  Created by YouXianMing on 14-9-15.
//  Copyright (c) 2014年 YouXianMing. All rights reserved.
//

#import "RootViewController.h"

@interface RootViewController ()<UITextFieldDelegate>

@property (nonatomic, strong) UITextField *textField;

@end

@implementation RootViewController

- (void)viewDidLoad
{
    [super viewDidLoad];

    _textField                      = [[UITextField alloc] initWithFrame:CGRectMake(10,  80, 300, 40)];
    _textField.layer.borderWidth    = 1.f;
    _textField.layer.borderColor    = [UIColor redColor].CGColor;
    _textField.backgroundColor      = [UIColor whiteColor];
    _textField.textAlignment        = kCTTextAlignmentLeft;    // 左对齐
    _textField.delegate             = self ;
    _textField.keyboardType         = UIKeyboardTypeNumberPad; // 数字键盘
    _textField.placeholder          = @"请输入4位验证码";
    _textField.clearsOnBeginEditing = YES;
    
    
    
    // 空出左侧边缘空隙(通过添加一个view来实现)
    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10,
                                                            CGRectGetHeight(_textField.bounds))];
    _textField.leftView     = view;
    _textField.leftViewMode = UITextFieldViewModeAlways;
    
    [self.view addSubview:_textField];
    
    // 添加手势
    [self addGesture];
}

- (void)addGesture
{
    // 手势
    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGesture:)];
    [self.view addGestureRecognizer:tap];
}

// 限制输入长度
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    if (range.location >= 4)
    {
        return NO;
    }
    else
    {
        return YES;
    }
}

- (void)tapGesture:(UITapGestureRecognizer *)tap
{
    // 取消第一响应状态
    [_textField resignFirstResponder];
}

@end

效果:

左侧空出空隙

限制输入长度

--------------------------------------------------------------------------------------------------------------------------------------

目录
相关文章
|
Swift
Swift - 如何让UIView,UILabel和UIImageView之间类型互相转化
Swift - 如何让UIView,UILabel和UIImageView之间类型互相转化
115 0
|
Swift
Swift: UITextView&UITextField 限制字数和输入内容
Swift: UITextView&UITextField 限制字数和输入内容
1215 0
Swift: UITextView&UITextField 限制字数和输入内容
如何更好的限制一个UITextField/UITextView的输入字数
要限制一个UITextField/UITextView的输入字数,首先想到的应该是通过UITextFieldDelegate/UITextViewDelegate 的代理方法来限制,那么如何来更好的限制输入字数呢,下面我们来看看:
UIWindow 原理与巧妙使用 makeKeyAndVisible、makeKeyWindow、becomeKeyWindow、resignKeyWindow.你真的懂了吗?
UIWindow 简介 UIWindow 是 UIView 的子类,其在 UIView 添加了一些视图层级,管理视图,转发 UIEvent 对象的属性和 Method。
3160 0
UITextField 自定义使用
UITextField自定义使用(一)UITextField自定义使用(二)
506 0
|
数据安全/隐私保护