zoukankan      html  css  js  c++  java
  • 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

    效果:

    左侧空出空隙

    限制输入长度

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

  • 相关阅读:
    Javascript中的sort()语法浅谈
    Javascript变量提升解释
    ES5中新增的Array方法详细说明
    Codewars-Javascript训练手册:正则表达式(Regular Expressions)
    Codewars-Javascript训练手册:Date 对象
    JavaScript与Java的关系(联系与区别)
    《Javascript秘密花园》学习笔记(终)
    (转)深入理解最强桌面地图控件GMAP.NET ---高德地图
    (转)深入理解最强桌面地图控件GMAP.NET --- 原理篇
    (转)深入理解最强桌面地图控件GMAP.NET --- SOSO地图
  • 原文地址:https://www.cnblogs.com/YouXianMing/p/3973845.html
Copyright © 2011-2022 走看看