UI控件之UITextField
UITextField:文本框:用来输入一行文本,父类是UIControl
UITextField *field1=[[UITextField alloc]initWithFrame:CGRectMake(10, 30, 200, 40)];
设置边框样式,如不设置,没有效果
field1.borderStyle=UITextBorderStyleRoundedRect;
field1.backgroundColor=[UIColor yellowColor];
设置文本框里的默认内容
field1.text=@"username:";
设置提示内容(用户编辑时不存在)
field1.placeholder=@"name:";
设置是否是密码框
field1.secureTextEntry=YES;
设置键盘类型(数字键盘、email键盘……)
field1.keyboardType=UIKeyboardTypeNumberPad;
设置键盘的外观样式
field1.keyboardAppearance=UIKeyboardAppearanceDark;
设置键盘上的‘return’键
field1.returnKeyType=UIReturnKeySearch;
设置大写字母的情况(单词:输入每个单词的首字母时自动调整成大写字母样式)
field1.autocapitalizationType=UITextAutocapitalizationTypeWords;
设置输入视图(自定义键盘,只可以设置view的高度)
UIImageView *imageView=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 200, 200)];
imageView.image=[UIImage imageNamed:@"0.png"];
field1.inputView=imageView;
[self.window addSubview:field1];
设置textField左侧的视图
UILabel *label=[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 50, 40)];
label.text=@"user:";
field1.leftView=label;
设置左侧视图的显示模式(什么时候显示)
field1.leftViewMode=UITextFieldViewModeAlways;
设置文本框为圆角
UITextField *field2=[[UITextField alloc]initWithFrame:CGRectMake(20, 100, 200, 100)];
field2.borderStyle=UITextBorderStyleRoundedRect;
[self.window addSubview:field2];
设置什么时候显示清空文本
field2.clearButtonMode=UITextFieldViewModeAlways;
field2.text=@"field2";
设置是否在开始编辑时清空原来的内容
field2.clearsOnBeginEditing=YES;
设置文本内容在垂直方向上的对齐方式
field2.contentVerticalAlignment=UIControlContentVerticalAlignmentBottom;
设置文本内容在水平方向上的对齐方式
field2.textAlignment=NSTextAlignmentCenter;
field2.font=[UIFont systemFontOfSize:24];
设置滚动过程中是否自动调整字号(变小)
field2.adjustsFontSizeToFitWidth=YES;
设置字体的最小字号(可能会导致上面的属性不能生效)
field2.minimumFontSize=25;
让textField成为第一响应者
[field2 becomeFirstResponder];
用户编辑结束退出时事件(用户单击'return‘键)
[field2 addTarget:self action:@selector(hideKey:) forControlEvents:UIControlEventEditingDidEndOnExit];
当用户编辑内容时的事件
[field2 addTarget:self action:@selector(changeText:) forControlEvents:UIControlEventEditingChanged];
UITextField的协议方法(遵从UITextFieldDelegate)
设置是否允许用户开始编辑,默认是yes
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
return YES;
}
当用户开始编辑时调用此协议方法
-(void)textFieldDidBeginEditing:(UITextField *)textField
{
NSLog(@"begin editing");
}
设置是否允许结束编辑,默认是yes
-(BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
要求用户输入的内容必须大于6个字符,否则不允许结束
if(textField.text.length<6){
return NO;
}else{
return YES;
}
}
当用户结束编辑时调用此协议方法
-(void)textFieldDidEndEditing:(UITextField *)textField
{
NSLog(@"did end editing");
}
设置是否允许清空按钮清空内容,默认是yes
-(BOOL)textFieldShouldClear:(UITextField *)textField
{
return YES;
}
设置是否允许响应用户单击return,默认是yes,可以在此协议方法中实现隐藏键盘,隐藏键盘方法三
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
用Category中的方法将gif动态图片转换为UIImage对象,需要引用自定义地第三方库
UIImage *image=[UIImage animatedImageWithAnimatedGIFURL:[[NSBundle mainBundle]URLForResource:@"FlagZombie" withExtension:@"gif"]];
UIImageView *imageView=[[UIImageView alloc]initWithFrame:CGRectMake(100, 100, 100, 100)];
imageView.image=image;
[self.window addSubview:imageView];
UI控件之UITextField的更多相关文章
- UI控件(UITextField)
@implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; UITextField* textField1 = ...
- 【iOS 开发】基本 UI 控件详解 (UIButton | UITextField | UITextView | UISwitch)
博客地址 : http://blog.csdn.net/shulianghan/article/details/50051499 ; 一. UI 控件简介 1. UI 控件分类 UI 控件分类 : 活 ...
- UI控件(复习一下)
如何修改控件状态• 可见,确实需要经常修改控件状态• 那如何去修改控件的状态呢?方法很简单➢ 每一个UI控件都是一个对象➢ 修改UI控件的状态,其实就是修改控件对象的属性➢ 比如修改UILabel显示 ...
- iOS 中UI控件的各种对齐方式总结
1.textAligment : 文字的水平方向的对齐方式 取值 NSTextAlignmentLeft = 0, // 左对齐 NSTextAlignmentCenter = ...
- ios 中的UI控件学习总结(1)
UIKit框架提供了非常多功能强大又易用的UI控件 下面列举一些在开发中可能用得上的UI控件 UIButton 按钮 UILabel 文本标签 UITextField 文本输入框 UIImageVie ...
- 【IOS 开发】基本 UI 控件详解 (UIDatePicker | UIPickerView | UIStepper | UIWebView | UIToolBar )
转载注明出处 : http://blog.csdn.net/shulianghan/article/details/50348982 一. 日期选择器 (UIDatePicker) UIDatePic ...
- UI控件概述
常见UI控件 UIKit框架提供了非常多功能强大又易用的UI控件,以便于开发者打造出各式各样的App 以下列举一些在开发中常见的UI控件(稍后补上图片示例) 1.UILabel– 文本标签:作用是显示 ...
- Swift UI控件详细介绍(上)
UI控件 首先介绍一下AppDelegate.swift@UIApplicationMain 调用了OC中的UIApplicationMain函数:UIApplicationMain是iOS应用程序的 ...
- iOS基础UI控件介绍-Swift版
iOS基础UI控件总结 iOS基础控件包括以下几类: 1.继承自NSObject:(暂列为控件) UIColor //颜色 UIImage //图像 2.继承自UIView: 只能相应手势UIGest ...
随机推荐
- 使用加密的squid配合stunnel实现HTTP代理
现在大部分人都是用ssh tunnel来搭建socks5代理,其实这种方式效率并不高,ssh tunnel并不是为了做代理而存在的.一个比较好的方法是加密squid配合stunnel实现http代理. ...
- django 类通用视图详解
view() : 该类为所有类视图的父类,处于最底层,仅仅只对请求参数做校验后,给特定请求方法做特定调用. 用法: url中定位到类方法:Aa.as_view() ——> View.as ...
- solr-in-action-ch4-Configuring Solr
Solr基本的三个XML配置文件: solr.xml: solr 日志.shard.solrcould等配置 solrconfig.xml: 某个solr core的配置 schema.xml:某个s ...
- codeforces(559C)--C. Gerald and Giant Chess(组合数学)
C. Gerald and Giant Chess time limit per test 2 seconds memory limit per test 256 megabytes input st ...
- 面试题:谈谈你对hibernate的理解
说说这类问题一般要和一个东西比較.说说他们的长处和缺点,hibernate就和JDBC比較呗.你就说说JDBC的优缺点.然后说说hibernate的优缺点,最后对照得出hibernate更好. hib ...
- 第二章----python基础
概要:python是一种计算机编程语言,有自己的一套语法,编译器或者解释器负责把符合语法的程序代码翻译成CPU能识别的机器码,然后执行.python使用缩进来组织代码块,Python程序中大小写是敏感 ...
- Laravel5.1 Migration数据库迁移文件
Migration方便于团队开发,它就像数据库的版本控制一样,它的功能就是可以和别人共享你的数据库结构.这么说可能不太好理解,你跟着敲敲就明白了. 0 前提工作-配置数据库 找到你根目录的 .env ...
- linux 下Shell编程(四)
for循环应用实例 for 循环可以对一个记录集中地数据依次集中地数据依次进行处理. #!/bin/bash #4.13.sh for clear #看下图区别 for((i=1:i<1 ...
- 【BZOJ2186】[Sdoi2008]沙拉公主的困惑 线性筛素数
[BZOJ2186][Sdoi2008]沙拉公主的困惑 Description 大富翁国因为通货膨胀,以及假钞泛滥,政府决定推出一项新的政策:现有钞票编号范围为1到N的阶乘,但是,政府只发行编号与M! ...
- SpringBoot自带热加载开发工具
SpringBoot自带热加载开发工具 maven配置: <!-- SpringBoot自带热加载开发工具 --> <dependency> <groupId>or ...