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(, , , )];
_textField.layer.borderWidth = .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(, , ,
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 >= )
{
return NO;
}
else
{
return YES;
}
} - (void)tapGesture:(UITapGestureRecognizer *)tap
{
// 取消第一响应状态
[_textField resignFirstResponder];
} @end

效果:

左侧空出空隙

限制输入长度

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

UITextField使用的一些细节的更多相关文章

  1. UITextField

    UITextFieldDemo 效果 特点 1.有效定制键盘的样式 2.处理键盘对文本框的遮挡 用法 1.导入文件(UITextField+CreateInputAccessoryView.h/.m) ...

  2. iOS开发笔记7:Text、UI交互细节、两个动画效果等

    Text主要总结UILabel.UITextField.UITextView.UIMenuController以及UIWebView/WKWebView相关的一些问题. UI细节主要总结界面交互开发中 ...

  3. swift系统学习控件篇:UIbutton+UIlabel+UITextField+UISwitch+UISlider

    工作之余,学习下swift大法.把自己的学习过程分享一下.当中的布局很乱,就表在意这些细节了.直接上代码: UIButton+UILabel // // ViewController.swift // ...

  4. UILabel,UITextField 以及UIButton应用

    </pre><pre name="code" class="cpp">一.UILabel 它是ioS开发使用的控件来显示文本,它是UIV ...

  5. iOS基础 - UIDatePicker and UIPickerView and UITextField

    1.UIDatePicker继承自UIControl,因此不会通过代理来监听事件的改变,而是通过addTarget来监听事件.监听的事件是值改变事件. 2.UIPickerView继承自UIView, ...

  6. iOS基础 - UITextField

    一.UITextField 1.常见属性 @property(nonatomic,retain) UIView *leftView; // 设置文本框左边显示什么控件,可以让文本框的内容往右边挪动 @ ...

  7. iOS 之 UITextField

    UITextField 相关细节处理: 1.  设置leftView , rightView let leftView = UIView() // 设置leftView/rightView之后,勿忘设 ...

  8. Vue.js 和 MVVM 小细节

    MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自 ...

  9. vue2.0实践的一些细节

    最近用vue2.0做了个活动.做完了回头发现,好像并没有太多的技术难点,而自己好像又做了比较久...只能说效率有待提升啊...简单总结了一些比较细节的点. 1.对于一些已知肯定会有数据的模块,先用一个 ...

随机推荐

  1. python mysql uitl

    from traceback import format_exc import pymysql as MySQLdb class MySQLUtils(object): def get_db_conn ...

  2. 什么是Java序列化?为什么序列化?序列化有哪些方式?

    先普及一下,计算机中无法识别一个基本单元[字节]来表示,必须经过“翻译”才能让计算机理解人类的语言,这个翻译过程就是[编码],通常所说的字符转换为字节.  有I/O的地方机就会涉及编码,现在几乎所有的 ...

  3. Nodejs学习笔记(十五)—Node.js + Koa2 构建网站简单示例

    前言 前面一有写到一篇Node.js+Express构建网站简单示例:http://www.cnblogs.com/zhongweiv/p/nodejs_express_webapp.html 这篇还 ...

  4. mybatis逆向工程总结工具类

    逆向工程字面意思就是反向生成工程,和hibernate一样mybatis也有自己的逆向工程工具,hibernate的逆向生成我没有做过,不过我猜大概都已样,再说,hibernate的现在使用很少了,到 ...

  5. 【LeetCode题解】169_求众数(Majority-Element)

    目录 169_求众数(Majority-Element) 描述 解法一:暴力法 思路 Java 实现 Python 实现 复杂度分析 解法二:哈希表 思路 Java 实现 Python 实现 复杂度分 ...

  6. Wordpress性能优化:使用crontab+wp-cli代替wp-cron

    wp-cron的问题     Wordpress内置wp-cron的模块,可以用来执行定时任务,比如定时检查更新,定时发布文章等都需要用到,属于必备功能.但是该模块的特点是:它只能在用户发起请求时检查 ...

  7. Ajax 学习(一)

    此篇为学习笔记 概述 Ajax(Asynchronous Javascrpt And Xml)是一种运用于浏览器的技术,它可以在浏览器与服务器之间使用异步通信机制进行数据通信,从而允许浏览器向服务器获 ...

  8. 关于PLSQL启动用时较长的问题解决

    问题: 打开登陆界面缓慢. 解决: 1.删除控制面板中的打印机 2.将打印机改为手动并停止启动状态 .

  9. Java泛型类型

    E element 常用于集合中表示存放元素 T type Java类 K key 键 V value 值 N number 数值类型 ? 不确定的类型 一种约定俗成吧

  10. Why we should overwrite the hashCode() when we overwrite the equals()

    Preface Though I have used Java programme language for almost a year, I'm not familiar with a notion ...