UITextField小结
2011-10-31 16:47 v2m 阅读(1803) 评论(0) 编辑 收藏 举报文字属性
- 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 from window)
- (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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架