IOS-UITextField类
文字属性
- text
- placeholder //默认使用70%灰色
- font
- textColor
- textAlignment
文字大小
- adjustsFontSizeToFitWidth
- minimumFontSize
编辑行为
- editing //是否正在编辑(read-only)
- clearsOnBeginEditing
展现形态
- borderStyle //默认UITextBorderStyleNone,是UITextBorderStyleRoundedRect时自定义的background无效
- background
- disabledBackground property //background未设置时,这个会无效
覆盖视图
- clearButtonMode
- leftView //像clearButton那样的视图,不过在左边,不要忘了设置mode
- leftViewMode
- rightView //默认覆盖clearButton
- rightViewMode
访问代理
- delegate property
绘画界面
以下都不应直接调用,需要的话可以重写
- – textRectForBounds: //重写来重置文字区域
- – drawTextInRect: //改变绘文字属性.重写时调用super可以按默认图形属性绘制,若自己完全重写绘制函数,就不用调用super了.
- – placeholderRectForBounds: //重写来重置占位符区域
- – drawPlaceholderInRect: //重写改变绘制占位符属性.重写时调用super可以按默认图形属性绘制,若自己完全重写绘制函数,就不用调用super了.
- – borderRectForBounds: //重写来重置边缘区域
- – editingRectForBounds: //重写来重置编辑区域
- – clearButtonRectForBounds: //重写来重置clearButton位置,改变size可能导致button的图片失真
- – leftViewRectForBounds:
- – rightViewRectForBounds:
代替输入
- inputView //代替标准的系统键盘
- inputAccessoryView //编辑时显示在系统键盘或用户自定义的inputView上面的视图
UITextFieldBorderStyle
typedef enum {
UITextBorderStyleNone,//无框
UITextBorderStyleLine,//线框
UITextBorderStyleBezel,//bezel风格线框
UITextBorderStyleRoundedRect//圆角边框
} UITextBorderStyle;
UITextFieldViewMode
typedef enum {
UITextFieldViewModeNever,
UITextFieldViewModeWhileEditing,
UITextFieldViewModeUnlessEditing,
UITextFieldViewModeAlways
} UITextFieldViewMode;
Notifications
UITextFieldTextDidBeginEditingNotification
UITextFieldTextDidChangeNotification
UITextFieldTextDidEndEditingNotification
委托事件
@protocol UITextFieldDelegate <NSObject>
@optional
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField; // 返回NO则不许编辑
- (void)textFieldDidBeginEditing:(UITextField *)textField; // became first responder
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField; // 返回YES允许结束并且resign first responder status. 返回NO不许编辑状态结束
- (void)textFieldDidEndEditing:(UITextField *)textField; // 上面返回YES后执行;上面返回NO时有可能强制执行(e.g. view removed fromwindow)
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string; // 返回NO不改变
- (BOOL)textFieldShouldClear:(UITextField *)textField; // clear button事件,返回NO过滤之
- (BOOL)textFieldShouldReturn:(UITextField *)textField; // 'return' key事件.返回NO过滤之
@end