文档章节

iOS UITextField 使用与方法解读

珲少
 珲少
发布于 2015/04/14 15:41
字数 764
阅读 1.7W
收藏 7

UITextField是IOS开发中用户交互中重要的一个控件,常被用来做账号密码框,输入信息框等。

初始化一个文字框:

UITextField * textField = [[UITextField alloc]initWithFrame:CGRectMake(100, 30, 100, 100)];

设置和获取文字框文字:

@property(nonatomic,copy)  NSString *text; 

通过AttributedString创建和获取文字:

@property(nonatomic,copy)   NSAttributedString  *attributedText;

设置字体颜色属性:

@property(nonatomic,retain) UIColor  *textColor;

设置字体属性:

@property(nonatomic,retain) UIFont  *font;

设置字体对齐格式:

@property(nonatomic)NSTextAlignment     textAlignment; 

设置输入框风格:

@property(nonatomic) UITextBorderStyle    borderStyle; 

这个风格是一个枚举,如下:

typedef NS_ENUM(NSInteger, UITextBorderStyle) {
    //没有任何边框
    UITextBorderStyleNone,
    //线性边框
    UITextBorderStyleLine,
    //阴影效果边框
    UITextBorderStyleBezel,
    //原型效果边框
    UITextBorderStyleRoundedRect
};

设置默认字体属性

@property(nonatomic,copy)  NSDictionary *defaultTextAttributes;

这个属性的设置会影响到全部字体的属性。

设置缺省时显示的灰度字符串

@property(nonatomic,copy)  NSString  *placeholder; 

通过AttributedString设置缺省字符串

@property(nonatomic,copy)  NSAttributedString  *attributedPlaceholder;

设置是否在开始编辑时清空输入框内容

@property(nonatomic) BOOL  clearsOnBeginEditing;

设置字体大小是否随宽度自适应(默认为NO)

@property(nonatomic)  BOOL   adjustsFontSizeToFitWidth; 

设置最小字体大小

@property(nonatomic) CGFloat    minimumFontSize;

设置背景图片(会被拉伸)

@property(nonatomic,retain) UIImage *background;

设置禁用时的背景图片

@property(nonatomic,retain) UIImage  *disabledBackground;

是否正在编辑(只读属性)

@property(nonatomic,readonly,getter=isEditing) BOOL editing;

是否允许更改字符属性字典

@property(nonatomic) BOOL allowsEditingTextAttributes;

设置属性字典

@property(nonatomic,copy) NSDictionary *typingAttributes;

设置清除按钮的显示模式

@property(nonatomic) UITextFieldViewMode  clearButtonMode;

这是一个枚举,如下:

typedef NS_ENUM(NSInteger, UITextFieldViewMode) {
    //从不显示
    UITextFieldViewModeNever,
    //编辑的时候显示
    UITextFieldViewModeWhileEditing,
    //非编辑的时候显示
    UITextFieldViewModeUnlessEditing,
    //任何时候都显示
    UITextFieldViewModeAlways
};

设置输入框左边的view

@property(nonatomic,retain) UIView *leftView;

设置输入框左视图的显示模式

@property(nonatomic)  UITextFieldViewMode  leftViewMode; 

 

设置输入框右边的view

@property(nonatomic,retain) UIView *rightView;

设置输入框右视图的显示模式

@property(nonatomic)  UITextFieldViewMode  rightViewMode; 

设置输入框成为第一响应时弹出的视图和辅助视图(类似键盘)

@property (readwrite, retain) UIView *inputView;             
@property (readwrite, retain) UIView *inputAccessoryView;

这个属性设置是否允许再次编辑时在内容中间插入内容

@property(nonatomic) BOOL clearsOnInsertion;

注销第一响应(収键盘)

- (BOOL)endEditing:(BOOL)force;

UITextFieldDelegate 代理中的方法

点击输入框时触发的方法,返回YES则可以进入编辑状态,NO则不能。

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField;

开始编辑时调用的方法   
- (void)textFieldDidBeginEditing:(UITextField *)textField;   

将要结束编辑时调用的方法,返回YES则可以结束编辑状态,NO则不能

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField; 

结束编辑调用的方法  
- (void)textFieldDidEndEditing:(UITextField *)textField;  

输入字符时调用的方法     
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string;  

点击清除按钮时调用的函数,返回YES则可以清除,点击NO则不能清除

- (BOOL)textFieldShouldClear:(UITextField *)textField;

点击return键触发的函数          
- (BOOL)textFieldShouldReturn:(UITextField *)textField; 

 

专注技术,热爱生活,交流技术,也做朋友。

——珲少 QQ群:203317592

© 著作权归作者所有

珲少

珲少

粉丝 896
博文 395
码字总数 478732
作品 0
上海
程序员
私信 提问
加载中

评论(0)

IOS 应用内打开三方地图app直接导航

简书 当然因为有需求喽。 疯狂试探 常用地图应用的url Scheme: 苹果地图不需要,iOS API提供了一个跳转打开方法。 注意IOS9之后,plist里面设置url scheme白名单 在下用的是高德坐标 高德转...

Apple_JinlongLu
2017/05/10
0
0
iOS开发需要了解的基础内容链接整理

https://llvm.org/svn/llvm-project/cfe/trunk/test/SemaObjC/builtinobjcnslog.m http://llvm.org/klaus/clang/commit/5faf5d31fa634e1fdb576c4d9708cd4efa5ea310/ 对Objective-C的NSObjec......

智能小松鼠
2015/01/14
322
2
Xamarin iOS教程之键盘的使用和设置

Xamarin iOS教程之键盘的使用和设置 Xamarin iOS使用键盘 在文本框和文本视图中可以看到,当用户在触摸这些视图后,就会弹出键盘。本节将主要讲解键盘的输入类型定义、显示键盘时改变输入视图...

大学霸
2015/06/19
551
0
UITextField 文本字段控件-IOS开发

进入本文之前建议你认真读一读我的另一篇博文:《UIControl IOS控件编程—IOS开发》http://blog.csdn.net/iukey/article/details/7300412 这样会起到事半功倍效果。 再就是用到UITextField,...

junwong
2012/03/05
1.2K
1
[转]设置 UILabel 和 UITextField 的 Padding 或 Insets

iOS 的控件,只看到 UIButton 可以设置 Padding/Insets,即按钮上文字或图片与按钮边界的间隙,对与 CSS 来说叫做 Padding,在 iOS 中叫做 Insets,UIButton 设置 Insets 相应的属性如下: ...

MrMign
2012/03/29
1.1K
0

没有更多内容

加载失败,请刷新页面

加载更多

Kali Linux发布2020.1a版本

Kali Linux发布2020.1a版本 Kali Linux发布2020.1a版本。现在该版本暂时只能从cdimage.kali.org下载。该版本修复了2010.1不联网安装时,没有桌面的bug。2010.1默认的桌面为Xfce。该桌面对应的...

大学霸
21分钟前
46
0
Elasticsearch+Fluentd+Kafka搭建日志系统

前言 由于logstash内存占用较大,灵活性相对没那么好,ELK正在被EFK逐步替代.其中本文所讲的EFK是Elasticsearch+Fluentd+Kfka,实际上K应该是Kibana用于日志的展示,这一块不做演示,本文只讲述数...

四颗咖啡豆
46分钟前
57
0
结果.

app/admin/options.py

MtrS
今天
42
0
00-Java 面试准备

面试之前 面试前准备简历需要注意的几个方面: 写简历、改简历,这个一定要干的。简历有两个作用,一个是吸引别人,能让别人邀请你去面试,这是前提;另一个是引导面试的人,让面试的人问你所...

源程序
今天
54
0
OSChina 周二乱弹 —— 大王(@罗马的王)颜值制霸Osc社区

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @巴拉迪维 :Lunik的单曲《Seeing You Soar》 I hope you’re smiling,When seeing me soar. #今日歌曲推荐# 《Seeing You Soar》- Lunik 手...

小小编辑
今天
1.7K
6

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部