iOS App開發中UITextField組件的常用屬性小結_IOS

來源:互聯網
上載者:User

重點屬性

在 Xcode 中使用 IB 給視圖拖上去一個文字框後,選中文字框,可以在Attribute Inspector中設定其各種屬性。

Attribute Inspector 分為三部分,分別是 Text Field、Control 和 View 部分。我們重點看看 Text Field 部分。

Text Field 部分有以下選項:

1、Text :設定文字框的預設文本。

2、Placeholder : 可以在文字框中顯示灰色的字,用於提示使用者應該在這個文字框輸入什麼內容。當這個文字框中輸入了資料時,用於提示的灰色的字將會自動消失。

3、Background :

4、Disabled : 若選中此項,使用者將不能更改文字框內容。

5、接下來是三個按鈕,用來設定對齊。

6、Border Style : 選擇邊界風格。

7、Clear Button : 這是一個下拉式功能表,你可以選擇清除按鈕什麼時候出現,所謂清除按鈕就是出一個現在文字框右邊的小 X ,你可以有以下選擇:

    7.1 Never appears : 從不出現
    7.2 Appears while editing : 編輯時出現
    7.3 Appears unless editing :
    7.4 Is always visible : 總是可見

8、Clear when editing begins : 若選中此項,則當開始編輯這個文字框時,文字框中之前的內容會被清除掉。比如,你現在這個文字框 A 中輸入了 "What" ,之後去編輯文字框 B,若再回來編輯文字框 A ,則其中的 "What" 會被立即清除。

9、Text Color : 設定文字框中文本的顏色。

10、Font : 設定文本的字型與字型大小。

11、Min Font Size : 設定文字框可以顯示的最小字型(不過我感覺沒什麼用)

12、Adjust To Fit : 指定當文字框尺寸減小時,文字框中的文本是否也要縮小。選擇它,可以使得全部文本都可見,即使文本很長。但是這個選項要跟 Min Font Size 配合使用,文本再縮小,也不會小於設定的 Min Font Size 。

接下來的部分用於設定鍵盤如何顯示。

13、Captitalization : 設定大寫。下拉式功能表中有四個選項:

    13.1 None : 不設定大寫
    13.2 Words : 每個單字首大寫,這裡的單詞指的是以空格分開的字串
    13.3 Sentances : 每個句子的第一個字母大寫,這裡的句子是以句號加空格分開的字串
    13.4 All Characters : 所以字母大寫

14、Correction : 檢查拼字,預設是 YES 。

15、Keyboard : 選擇鍵盤類型,比如全數字、字母和數字等。

16、Appearance:

17、Return Key : 選擇返回鍵,可以選擇 Search 、 Return 、 Done 等。

18、Auto-enable Return Key : 如選擇此項,則只有至少在文字框輸入一個字元後鍵盤的返回鍵才有效。

19、Secure : 當你的文字框用作密碼輸入框時,可以選擇這個選項,此時,字元顯示為星號。

技巧

下面來說兩個小技巧:
一、UITextField隱藏鍵盤

1.點擊鍵盤的return來隱藏鍵盤

這個方法需要在相應的.h檔案檔案中實現UITextFieldDelegate協議。並在.m檔案中添加如下方法

複製代碼 代碼如下:

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
    [textField resignFirstResponder];
    return YES;
}

2.點擊介面空白處來隱藏鍵盤

這個方法的實現主要是給當前的view增加點擊事件,並未點擊事件增加相應的處理方法,此處是為了隱藏鍵盤,所以我們可以在點擊事件對應的方法中讓UITextField放棄第一響應者。

複製代碼 代碼如下:

- (void)dismissKeyboard
{
    NSArray *subViews = [self.view subviews];
    for (id inputText in subViews) {
        if ([inputText isKindOfClass:[UITextField class]]) {
            if ([inputText isFirstResponder]) {
                [inputText resignFirstResponder];
            }
        }
    }
}

為當前的view增加點擊事件
複製代碼 代碼如下:

UITapGestureRecognizer *dismissKeyboardTap = [[UITapGestureRecognizer alloc]                                                initWithTarget:self                                                 action:@selector(dismissKeyboard)];
[self.view addGestureRecognizer: dismissKeyboardTap];

二、為內容增加校正

複製代碼 代碼如下:

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
    switch (textField.tag) {
        case 100://name
        {
            NSLog(@"this is nameField");
            //添加校正name的代碼
            break;
        }
        case 101://phone
        {
            NSLog(@"this is phoneField");
            //添加校正phone的代碼
            break;
        }
        case 102://email
        {
            NSLog(@"this is emailField");
            //添加校正email的代碼
            break;
        }       
        default:
            break;
    }
    return YES;
}

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.