iOS UITextField 使用与方法解读

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏欧阳大哥的轮子

MyLayout和XIB或SB的混合使用方法

MyLayout是一个可以非常简单和方便的实现各种界面布局的第三方开源库。在我的github项目中大部分DEMO都是通过代码来实现界面布局的,但这并不是表示My...

844
来自专栏编程之旅

UINavigationBar的用法

UINavigationBar是一个我们在开发中必定会碰到的控件,用好它能帮助我们自定义导航栏的样式,所以今天讲解一下UINavigationBar的用法。

4052
来自专栏mukekeheart的iOS之旅

iOS学习——Quartz2D学习之UIKit绘制

  在IOS中绘图技术主要包括:UIKit、Quartz 2D、Core Animation和OpenGL ES。其中Core Animation提供动画实现技...

1322
来自专栏一“技”之长

iOS中UISearchBar(搜索框)使用总结

初始化:UISearchBar继承于UIView,我们可以像创建View那样创建searchBar

1391
来自专栏一“技”之长

OS X开发NSMenu应用详解 原

    NSMenu在Mac桌面软件开发中往往有3个方面的应用,作为程序的主菜单栏使用,作为视图邮件菜单使用和作为Dock菜单使用。

1683
来自专栏進无尽的文章

UI篇-CATextLayer和 富文本的交融

CATextLayer适用于IOS或者MAC,比UIlablel 和 NSTextView 能做的事很多,可以这样说UIlablel是通过CATextLayer...

2951
来自专栏python爬虫日记

wxpython 窗口排版- proportion/flag/border参数说明

新学习wxpython,一直纠结于窗口控件的排版,经过几天的查资料、试验,总结如下。

2633
来自专栏滕先生的博客

CALayer 图层概念二、CALayer属性二、方法

3117
来自专栏青玉伏案

web前端基础知识总结

上个寒假总结的web前端的一些知识点给大家分享一下 1、<html>和</html> 标签限定了文档的开始和结束点。 属性: (1)  dir: 文本的显示方向...

2535
来自专栏前端儿

常见的几种 CSS 水平垂直居中解决办法

用CSS实现元素的水平居中,比较简单,可以设置text-align center,或者设置 margin-left:auto; margin-right:aut...

1481

扫码关注云+社区

领取腾讯云代金券