iOS_輸入text處理 和 鍵盤Type

<UITextFieldDelegate>

#pragma mark - UITextFieldDelegate
#pragma mark - 將要改變text時調用
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
  if ([string isEqualToString:@"\n"]) { // 回車收起鍵盤
    [textField resignFirstResponder];
    return NO;
  }
  // 判斷輸入的是否是數字
  NSString *regex = @"[0-9]*";
  NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];
  if ([pred evaluateWithObject:string]) {
    // doing something
    return YES;
  }
  return NO;
}

一. keyboardType: 鍵盤類型

 

1.UIKeyboardTypeDefault // 默認鍵盤, 支持所有字符

 

 

2.UIKeyboardTypeASCIICapable     // 顯示可以輸入ASCII字符的鍵盤。

3.UIKeyboardTypeNumbersAndPunctuation     // 數字和各種標點符號

 

4.UIKeyboardTypeURL    // URL鍵盤, 有.com按鈕, 只支持URL字符

5.UIKeyboardTypeNumberPad    // 數字鍵盤

6.UIKeyboardTypePhonePad    // 電話鍵盤
 

7.UIKeyboardTypeNamePhonePad     // 電話鍵盤, 也支持輸入人名

8.UIKeyboardTypeEmailAddress      // 用於輸入電子郵件地址的鍵盤

9.UIKeyboardTypeDecimalPad    IOS(4_1) // 帶小數點的數字板。

10.UIKeyboardTypeTwitter    IOS(5_0) // 爲twitter文本條目優化的類型(易於訪問@ #)

11.UIKeyboardTypeWebSearch     IOS(7_0)    // 帶有面向url的默認鍵盤類型。(空格很明顯)。

12.UIKeyboardTypeASCIICapableNumberPad    IOS(10_0)  // 一個數字板(0-9),總是ASCII數字。

 

二. keyboardAppearance: 鍵盤外觀顏色

typedef NS_ENUM(NSInteger, UIKeyboardAppearance) {
  UIKeyboardAppearanceDefault,          // 默認灰色.
  UIKeyboardAppearanceDark NS_ENUM_AVAILABLE_IOS(7_0),  // 深灰色
  UIKeyboardAppearanceLight NS_ENUM_AVAILABLE_IOS(7_0), // 同UIKeyboardAppearanceDefault
  UIKeyboardAppearanceAlert = UIKeyboardAppearanceDark,  // Deprecated
};

 

三. returnKeyType: return按鈕類型

typedef NS_ENUM(NSInteger, UIReturnKeyType) {
  UIReturnKeyDefault, //默認:灰色按鈕,標有Return
  UIReturnKeyGo,  // Go的藍色按鈕
  UIReturnKeyGoogle,  // Google的藍色按鈕,用於搜索
  UIReturnKeyJoin,  // Join的藍色按鈕
  UIReturnKeyNext,  // Next的藍色按鈕
  UIReturnKeyRoute, // Route的藍色按鈕
  UIReturnKeySearch,  // Search的藍色按鈕
  UIReturnKeySend,  // Send的藍色按鈕
  UIReturnKeyYahoo, // Yahoo!的藍色按鈕,用於搜索
  UIReturnKeyDone,  // Done的藍色按鈕
  UIReturnKeyEmergencyCall, // EmergencyCall的藍色 (緊急呼叫) 按鈕
  UIReturnKeyContinue NS_ENUM_AVAILABLE_IOS(9_0), // //標有Done的灰色按鈕
};

 

四. autocapitalizationType: 大小寫設置

typedef NS_ENUM(NSInteger, UITextAutocapitalizationType) {
  UITextAutocapitalizationTypeNone, // 不自動大寫
  UITextAutocapitalizationTypeWords,  // 單詞首字母大寫
  UITextAutocapitalizationTypeSentences,  // 句子首字母大寫
  UITextAutocapitalizationTypeAllCharacters,  // 所有字母大寫
};

 

五. autocorrectionType: 自動更正

typedef NS_ENUM(NSInteger, UITextAutocorrectionType) {
  UITextAutocorrectionTypeDefault,
  UITextAutocorrectionTypeNo,   // 不自動更正
  UITextAutocorrectionTypeYes,  // 自動更正
};

 

六. secureTextEntry: 安全輸入 YES or NO

 

七. enablesReturnKeyAutomatically 換行自動檢測是否允許 

// 默認NO YES時:text爲空return按鈕 disenable(禁用)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章