UITextField詳解


2017.1.5

1. UITextField屬性

_textField = ?[[UITextField alloc] initWithFrame:CGRectMake(50, 100, 150, 20)];

文本內容 ? ? _textField.text = @"UITextField 詳解";?

設置Text樣式?

NSMutableAttributedString ?*attributedString=[[NSMutableAttributedString ?alloc] ?initWithString:_textField.text];

NSRange range = NSMakeRange(0, _textField.text.length);

[attributedString addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:20] ?range:range];

[attributedString addAttribute:NSForegroundColorAttributeName value:[UIColor orangeColor]? range:range];

_textField.attributedText = attributedString;

設置文本顏色 ?_textField.textColor = [UIColor blueColor];

設置字體大小 ?_textField.font = [UIFont systemFontOfSize:30];

對齊方式? ? _textField.textAlignment = NSTextAlignmentLeft;枚舉

邊框樣式 _textField.borderStyle = UITextBorderStyleRoundedRect;枚舉

設置默認的Text的樣式

_textField.defaultTextAttributes = @{NSForegroundColorAttributeName:[UIColor blackColor],NSUnderlineStyleAttributeName:@2};

text屬性為空時默認顯示 ? _textField.placeholder = @"placeholder";

設置placeholder文本屬性 _textField.attributedPlaceholder = _textField.attributedText;

成為焦點時文本內容清空 ?_textField.clearsOnBeginEditing = YES;

根據(jù)寬度自動適應字體大小 ?_textField.adjustsFontSizeToFitWidth = YES;

最小的字體大小 ? _textField.minimumFontSize = 14;

設置背景圖 ?textField.background = [UIImage imageNamed:@"image.jpg"];

設置不可用時的背景圖 若background未設置則忽略

textField.disabledBackground = [UIImage imageNamed:@"2.jpg"];

是否可以更改字符屬性字典_textField.allowsEditingTextAttributes = YES;

屬性字典 ?_textField.typingAttributes = _textField.defaultTextAttributes;

設置清除按鈕的顯示樣式? _textField.clearButtonMode = UITextFieldViewModeAlways;枚舉

左視圖 右視圖

UIView *leftView=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 20, 40)];

leftView.backgroundColor=[UIColor redColor];

_textField.leftView=leftView;

設置左視圖也不顯示 需要設置leftViewMode? _textField.leftViewMode=UITextFieldViewModeAlways;枚舉

設置彈出視圖 _textField.inputView = self.inputView;

設置彈出輔助視圖 ?_textField.inputAccessoryView = self.inputAccessoryView;

設置是否允許再次編輯時在內容中間插入內容 _textField.clearsOnInsertion = YES;

UITextFiled和 UITextView都遵循 UITextInputTraits協(xié)議,在UITextInputTraits協(xié)議中定義了設置鍵盤的屬性

鍵盤類型? 枚舉? _textField.keyboardType=UIKeyboardTypeNumbersAndPunctuation;枚舉

鍵盤Return鍵顯示的文本,默認為”Return”,其他可選擇的包括Send,Next,,Go,Done,Google等

_textField.returnKeyType = UIReturnKeyDone;

鍵盤外觀 ? _textField.keyboardAppearance = UIKeyboardAppearanceLight;

文本大小寫樣式 _textField.autocapitalizationType = UITextAutocapitalizationTypeWords;

是否自動更正_textField.autocorrectionType = UITextAutocorrectionTypeYes;

拼寫檢查設置 ?_textField.spellCheckingType = UITextSpellCheckingTypeYes;

是否在無文本時禁用Return鍵,默認為NO。若為YES,則用戶至少輸入一個字符后Return鍵才被激活

_textField.enablesReturnKeyAutomatically = YES;

若輸入的是密碼,可設置此類型為YES,輸入字符時可顯示最后一個字符,其他字符顯示為點

_textField.secureTextEntry=YES;

2.UITextFieldDelegate

設置代理? _textField.delegate? =? self;

點擊輸入框時觸發(fā)的方法,返回YES則可以進入編輯狀態(tài),NO則不能

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField ?{

? ? ? ? returnYES;

}

開始編輯時調用的方法

- (void)textFieldDidBeginEditing:(UITextField *)textField ?{

}

將要結束編輯時調用的方法,返回YES則可以結束編輯狀態(tài),NO則不能

- (BOOL)textFieldShouldEndEditing:(UITextField *)textField ?{

?returnYES;

}

結束編輯調用的方法

- (void)textFieldDidEndEditing:(UITextField *)textField ?{

NSLog(@"結束編輯 textFieldDidEndEditing");

}

輸入字符時調用的方法

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString*)string ?{

returnYES;

}

點擊清除按鈕時調用的函數(shù),返回YES則可以清除,點擊NO則不能清除

- (BOOL)textFieldShouldClear:(UITextField *)textField ?{

? ? returnYES;

}

點擊return鍵觸發(fā)的函數(shù)

- (BOOL)textFieldShouldReturn:(UITextField *)textField ?{

? ? [_textField resignFirstResponder];//失去第一響應

returnYES;

}

更多請查看官方Api

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容