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 ...
随机推荐
- 2016ATF阿里巴巴技术论坛
转自:http://blog.csdn.net/mini_monster/article/details/51175879 “爱迪生的贡献不在于让灯泡亮的更久一些,爱迪生最大的贡献是在全世界第一个想到 ...
- 把world转成html
本来用php转的 效果不太理想 很不稳定 最后试了下java 效果不错 只记录java的方法好了 其实他们的原理都是一样的啊,都是用到了微软的com 首先是准备工作 下载(明确dll的版本是64位的还 ...
- Servlet 国际化
在我们开始之前,先来看看三个重要术语: 国际化(i18n):这意味着一个网站提供了不同版本的翻译成访问者的语言或国籍的内容. 本地化(l10n):这意味着向网站添加资源,以使其适应特定的地理或文化区域 ...
- Java报表生成技术
报表是以格式化的形式输出数据,并对数据进行分组.汇总.计算等操作.通过报表.图表或者嵌入图片图像等形式来丰富数据的显示. 报表生成的步骤: 后台数据抽取(DAO层): 数据项逻辑运算(业务逻辑层): ...
- android JNI常用添加log方法
android JNI 打log方法 添加库支持 LOCAL_LDLIBS :=-llog -landroid 包含头文件 #include <android/log.h> #define ...
- 使用神器MobaXterm连接远程mysql和redis
https://mobaxterm.mobatek.net/download-home-edition.html mysql redis 连接测试 mysql 127.0.0.1 3307 密码使用线 ...
- WINDOWS 7.1 SDK 安装失败
错误提示: Please refer to Samples\Setup\HTML\ConfigDetails.htm document for further information. 原因:本机上安 ...
- 【BZOJ2242】[SDOI2011]计算器 BSGS
[BZOJ2242][SDOI2011]计算器 Description 你被要求设计一个计算器完成以下三项任务: 1.给定y,z,p,计算Y^Z Mod P 的值: 2.给定y,z,p,计算满足xy≡ ...
- windows下在Eclipse中启动的tomcat没有乱码,单独部署到tomcat下乱码解决方案
今天遇到了一个很奇怪的问题,在Eclipse中调试,运行项目一切正常,项目的所有编码都是统一的UTF-8.但是在单独部署到tomcat上的时候出现了中文乱码. 解决方案 第一步:确保项目,jsp页面, ...
- 解决一个项目里面加载两个同名不同版本的DLL的问题
在config里面这样配置,可以加载不同版本的dll <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com ...