溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iOS-UI-基本控件之UITextField

發(fā)布時間:2020-07-17 08:54:18 來源:網(wǎng)絡 閱讀:772 作者:591XT_XYZ 欄目:移動開發(fā)

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

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI