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 ...
随机推荐
- UI-9-UITableView
课程要点: UITableView及其两种风格和三部分 UITableViewController UITableViewCell及其四种风格 通过代理给UITableView设置cell 性能优化 ...
- DataUml Design 教程3-模型与数据库同步
上一节我们已经建立好了数据模型,那么怎么让数据模型和数据库进行同步呢?模型同步到数据库非常简单,只需要模型绑定到数据库即可.DataUml Design目前支持和Oracle与MS Server数据库 ...
- 第一百八十一节,jQuery-UI,知问前端--自动补全 UI--邮箱自动补全
jQuery-UI,知问前端--自动补全 UI--邮箱自动补全 学习要点: 1.调用 autocomplete()方法 2.修改 autocomplete()样式 3.autocomplete()方法 ...
- EntityFramework(EF) 单表与主从表的使用
一.单表Reader 1 构建Reader类 public class Reader { public int ReaderID { get; set; } publ ...
- Android-ViewPagerIndicator框架使用——LinePageIndicator
前言:LinePageIndicator类似CirclePageIndicator,只是将圆点指示变成了长条指示. 一:使用是定义的布局文件simple_lines : <LinearLayou ...
- 傅里叶叠层成像FP(Fourier Ptychographic Imaging)查资料
傅里叶叠层成像FP(Fourier Ptychographic Imaging) 傅里叶叠层显微术(FPM)是一种新型的计算显微成像技术,FPM与传统显微术照明方式不同,常采用可编程LED阵列进行不同 ...
- nginx配置后只有根目录首页index.php能访问,其他页面404
只有首页面根目录可以访问,其他页面地址都是404 not found.网上找了半天url重定向,url重写都试了无效,要不就是重定向过多,下图为跳坑历程. location / { #if ($htt ...
- Ubuntu 14.04 Vim编辑文件的一般操作
vim编辑文件的一般操作 1. vim #在命令行中输入vim,进入vim编辑器 2. i #按一下i键,下端显示 --INSERT-- #插入命令,在vim中可能任意字符都有作用 3. Esc #退 ...
- lucene中的IndexWriter.setMaxFieldLength()
lucene中的IndexWriter.setMaxFieldLength() 老版本的Lucene中,IndexWriter的maxFieldLength是指一个索引中的最大的Field个数. 这个 ...
- coreData笔记
1. CDVehicle *vehicle = (CDVehicle *)[[NSManagedObject alloc] initWithEntity:entity insertIntoMan ...