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;

时间: 2024-11-06 12:07:30

IOS UITextField 使用与方法解读的相关文章

iOS中UITextView方法解读

iOS中UITextView方法解读 常用属性解读: @property(nonatomic,assign) id<UITextViewDelegate> delegate; 设置代理属性 @property(nonatomic,copy) NSString *text; textView上的文本 @property(nonatomic,retain) UIFont *font; 设置文本字体 @property(nonatomic,retain) UIColor *textColor; 设置

iOS UITextField控件总结

iOS UITextField控件总结 先声明下面总结不是自己写的. //初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)]; //设置边框样式,只有设置了才会显示边框样式 text.borderStyle = UITextBorderStyleRoundedRect; typedef enum { UITextBorderStyleNone

ios系统铃声调用方法

首先,这里我要说明这里并不是真正调用系统内部自带的铃声,因为苹果是不允许开发者调用的,没有给开发者接口:如果调用了就无法上线的!那为什么AppStore里面还有那么多app显示的效果是调用系统的铃声一样呢?为什么就能上线呢?其实不然,他们是使用了系统一样的铃声!也就说他们录制和系统铃声相似,然后包含进他们的bundle中来实现的. 所以,我们想要实现调用系统铃声的效果,只能通过这个途径:把音频文件捆绑经我们的bundle中来调用,播放! 给一个网址,里面好多苹果系统铃声(ios8的也有啦....

iOS开发——实用篇&amp;提高iOS开发效率的方法和工具

提高iOS开发效率的方法和工具 介绍 这篇文章主要是介绍一下我在iOS开发中使用到的一些可以提升开发效率的方法和工具. IDE 首先要说的肯定是IDE了,说到IDE,Xcode不能跑,当然你也可能同时在使用AppCode等其他的IDE,在这里我主要介绍Xcode中提升开发效率的方法. 1.善用快捷键 快捷键是开发中必不可少的,当你善于使用快捷键的时候,十指在键盘上飞舞,那画面太美,我不敢想象. 常用快捷键操作 2.常用代码片段 开发中有一些常用的代码,可以放到代码片段中,然后下次你就可以使用快捷

UITextField限制字数方法

? ? ? ? 今天被这个问题坑了一天.在UITextField的delegate方法里,各种判断.结果还是有bug.最明显的是中文输入模式下,联想输入可以突破字数限制. 今天找到一种方法,注册观察者UITextFieldTextDidChangeNotification.如果UITextField内容改变,就计算字数并判断. 分三步走: 第一步:注册观察者. [[NSNotificationCenter defaultCenter] addObserver:self selector:@sel

uitextField限制字数方法和抖动效果

这个方法也是在网上找的.具体如下: .h文件 #import <UIKit/UIKit.h> @interface UITextField (LimitLength) /** * 使用时只要调用此方法,加上一个长度(int),就可以实现了字数限制,汉字不可以 * * @param length */ - (void)limitTextLength:(int)length; /** * uitextField 抖动效果 */ - (void)shake; @end .m文件 #import &q

iOS开发 UITableView的方法和属性总结

本文描述UITableView的各种方法,属性,委托以及数据源.本文的目的只是总结UITableView的用法,详细的例子另撰文描述. 1 数据源  UITableViewDataSource协议 01 返回组(节)的个数,默认是返回1,如果只有1组数据,可以不用实现该方法. - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 02 返回某一组的行数,该组由section的值决定 - (NSInteger)table

iOS动态运行时方法

在某些时候,程序可能需要根据获取的参数来决定调用的方法. 要实现这样的功能,就需要使用到动态运行时方法了. 首先需要定义好接口,以便调用. 然后就是动态调用定义好的方法. 这里有两种方法, 第一种: // 有参数则需要加上冒号 SEL sel = NSSelectorFromString(@"save:"); MyObject obj = [MyObject new]; [obj performSelector:sel withObject:@{@"1":@&quo

iOS UITextField的属性、代理及通知

一.UITextField通知(UITextField文本发生变化会调用通知) 初始化一个(连线)UITextField控件 @property (weak, nonatomic) IBOutlet UITextField *pwdField; 在viewDidLoad初始化通知 //注意name和object的设定值[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textChange) name