您好,登錄后才能下訂單哦!
UITextField
IOS開發(fā)中必不可少的基本控件,本文主要是列出常用的屬性及方法(注XCode版本為7.2)
文本框,可以理解為輸入框或者顯示框,即用戶可以往里面輸入文字或圖片,可以輸入當然也可以顯示文字,常用的有對話框,信息,搜索框等等.
父類為UIControl.
屬性有
@property(nullable, nonatomic,copy) NSString *text; // 顯示的文本
@property(nullable, nonatomic,copy) NSAttributedString *attributedText NS_AVAILABLE_IOS(6_0); // 提示文本在IOS6.0之后可以使用,默認為空,經(jīng)測試發(fā)現(xiàn)只要text為空時才會顯示此文本,text不為空時不會顯示此文本,可以當做提示
@property(nullable, nonatomic,strong) UIColor *textColor; //顯示文本的顏色默認為空無色
@property(nullable, nonatomic,strong) UIFont *font; // 文本字體,默認為空,使用系統(tǒng)自帶的12號字體
@property(nonatomic) NSTextAlignment textAlignment; // 文本對齊方式,默認為左對齊,也可以右對齊或者居中對齊,都是枚舉值
@property(nonatomic) UITextBorderStyle borderStyle; //文本框風格,默認是沒有風格的,
@property(nullable, nonatomic,copy) NSString *placeholder; // 提示文本,當用戶一調用鍵盤就會消失,比較實用
@property(nonatomic) BOOL clearsOnBeginEditing; // 默認是NO,沒有開啟此功能,此功能就是文本框右邊會有一個x,一鍵清除所有的內容比較實用
@property(nonatomic) BOOL adjustsFontSizeToFitWidth; // 根據(jù)字體的大小來自動調整文本框寬度,默認是NO,沒有開啟
@property(nonatomic) CGFloat minimumFontSize; // 最小字體,不常用,默認為0
@property(nullable, nonatomic,weak) id<UITextFieldDelegate> delegate; // 代理,這個有用,如果想知道文本框的更多的變化,要用到代理協(xié)議,代理方法,代理方法更加具體
@property(nullable, nonatomic,strong) UIImage *background; // 背景圖片,默認為空,沒有背景圖片
@property(nonatomic,readonly,getter=isEditing) BOOL editing;//是否允許編輯,YES允許編輯,NO不允許編輯
@property(nullable, nonatomic,strong) UIView *leftView; // 這個有用可以在文本框的左邊加上圖片或者視圖
@property(nonatomic) UITextFieldViewMode leftViewMode; //是否顯示左視圖
@property(nullable, nonatomic,strong) UIView *rightView; // 右視圖
@property(nonatomic) UITextFieldViewMode rightViewMode;//是否顯示右視圖
方法有(一般可能都不怎么用方法)
- (CGRect)borderRectForBounds:(CGRect)bounds;
- (CGRect)textRectForBounds:(CGRect)bounds;
- (CGRect)placeholderRectForBounds:(CGRect)bounds;
- (CGRect)editingRectForBounds:(CGRect)bounds;
- (CGRect)clearButtonRectForBounds:(CGRect)bounds;
- (CGRect)leftViewRectForBounds:(CGRect)bounds;
- (CGRect)rightViewRectForBounds:(CGRect)bounds;
- (void)drawTextInRect:(CGRect)rect;
- (void)drawPlaceholderInRect:(CGRect)rect;
代理方法有
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField; // 返回NO禁止編輯
- (void)textFieldDidBeginEditing:(UITextField *)textField; // 變成第一響應時調用,就是點擊文本框時,已經(jīng)開始編輯的時候 會觸發(fā)這個方法
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField; //返回BOOL值,指定是否允許文本字段結束編輯,當編輯結束,文本字段會讓出first responder 要想在用戶結束編輯時阻止文本字段消失,可以返回NO 這對一些文本字段必須始終保持活躍狀態(tài)的程序很有用,比如即時消息
- (void)textFieldDidEndEditing:(UITextField *)textField; // 結束編輯的時候調用
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string; // 可以得到用戶輸入的字符,返回NO,不能改變文本的內容,在這個方法里可以判斷用戶輸入的信息是否符合要求
- (BOOL)textFieldShouldClear:(UITextField *)textField; // 當用戶全部清空的時候的時候 會調用
- (BOOL)textFieldShouldReturn:(UITextField *)textField; // 點擊Return鍵的時候
更詳細的見http://www.cnblogs.com/rayray/p/4221666.html
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。