1. UITextField屬性
_textField = ?[[UITextField alloc] initWithFrame:CGRectMake(50, 100, 150, 20)];
文本內(nèi)容 ? ? _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;
成為焦點時文本內(nèi)容清空 ?_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;
設置是否允許再次編輯時在內(nèi)容中間插入內(nèi)容 _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;
}
開始編輯時調(diào)用的方法
- (void)textFieldDidBeginEditing:(UITextField *)textField ?{
}
將要結束編輯時調(diào)用的方法,返回YES則可以結束編輯狀態(tài)瘫拣,NO則不能
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField ?{
?returnYES;
}
結束編輯調(diào)用的方法
- (void)textFieldDidEndEditing:(UITextField *)textField ?{
NSLog(@"結束編輯 textFieldDidEndEditing");
}
輸入字符時調(diào)用的方法
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString*)string ?{
returnYES;
}
點擊清除按鈕時調(diào)用的函數(shù)亿絮,返回YES則可以清除,點擊NO則不能清除
- (BOOL)textFieldShouldClear:(UITextField *)textField ?{
? ? returnYES;
}
點擊return鍵觸發(fā)的函數(shù)
- (BOOL)textFieldShouldReturn:(UITextField *)textField ?{
? ? [_textField resignFirstResponder];//失去第一響應
returnYES;
}
更多請查看官方Api