UITextField的基本使用

在一個應用程序中,如果用戶想要輸入一些信息的時候就可能要使用UITextField控件,來輸入內容。
基本使用:
1.創建
如果是使用xib拖拽的那麼UITextField高度默認爲30px,不可以調整。
如果是使用代碼創建的那麼可以隨意更改UITextField的高度。

UITextField *field = [[UITextField alloc]initWithFrame:CGRectMake(20, 200, 320, 60)];

2.屬性
常用屬性:

field.borderStyle = UITextBorderStyleRoundedRect;//邊框樣式,一般設置爲 UITextBorderStyleRoundedRect
/*UITextBorderStyleNone //無樣式
 UITextBorderStyleLine //線性
 UITextBorderStyleBezel //板式
*/

field.placeholder = @"佔位文字";
/*
 UITextFieldViewModeNever //默認顯示沒有
 UITextFieldViewModeWhileEditing //輸入時顯示有叉號
 UITextFieldViewModeUnlessEditing //不輸入時顯示有叉號
 UITextFieldViewModeAlways //一直顯示有叉號,
 */ 

field.secureTextEntry = YES;//設置輸入框變爲密碼框  每輸入一個字符就變成點

[field becomeFirstResponder];//成爲第一響應者
[field resignFirstResponder];//失去第一響應

field.keyboardType = UIKeyboardTypeURL;//鍵盤樣式
/*
 UIKeyboardTypeDefault,                // 默認狀態,支持所有字符
 UIKeyboardTypeASCIICapable,           // 可以輸入ASCII碼
 UIKeyboardTypeNumbersAndPunctuation,  // 數字和標點符號
 UIKeyboardTypeURL,                    // 字母和url(com)
 UIKeyboardTypeNumberPad,              // 數字鍵盤
 UIKeyboardTypePhonePad,               // 數字帶+*# 電話鍵盤
 UIKeyboardTypeNamePhonePad,           // 電話鍵盤支持輸入人名
 UIKeyboardTypeEmailAddress,           // 字母帶@. 輸入電子郵件
 UIKeyboardTypeDecimalPad NS_ENUM_AVAILABLE_IOS(4_1),   // 數字鍵盤帶.
 UIKeyboardTypeTwitter NS_ENUM_AVAILABLE_IOS(5_0),      // 字母帶@#
 UIKeyboardTypeWebSearch NS_ENUM_AVAILABLE_IOS(7_0),    // 字母帶  前往 按鈕
 UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable, // 可以輸入ASCII碼 首字母大寫
*/

field.returnKeyType = UIReturnKeyDefault;//設置return鍵的類型
/*
 UIReturnKeyDefault,       //return鍵顯示默認狀態 return
 UIReturnKeyGo,            //return鍵顯示Go
 UIReturnKeyGoogle,        //return鍵顯示Search
 UIReturnKeyJoin,          //return鍵顯示Join 加入
 UIReturnKeyNext,          //return鍵顯示next 下一個
 UIReturnKeyRoute,         //return鍵顯示Route
 UIReturnKeySearch,        //return鍵顯示Search 搜索
 UIReturnKeySend,          //return鍵顯示Send 發送
 UIReturnKeyYahoo,         //return鍵顯示Search
 UIReturnKeyDone,          //return建顯示Done
 UIReturnKeyEmergencyCall,
*/

field.keyboardAppearance=UIKeyboardAppearanceDefault;//設置鍵盤風格
/*
 UIKeyboardAppearanceDefault //默認
 UIKeyboardAppearanceDark //深灰
 UIKeyboardAppearanceLight //高亮
 UIKeyboardAppearanceAlert //石墨色
 */

不常用屬性:

field.text = @"設置文字";
field.textColor = [UIColor yellowColor];//設置字體顏色
field.font = [UIFont systemFontOfSize:24];//設置字體大小
field.textAlignment = NSTextAlignmentLeft;//文字位置,默認爲文字在左側
/*
 NSTextAlignmentLeft //文字居左
 NSTextAlignmentCenter //文字居中 
 NSTextAlignmentRight //文字在右側
*/  

field.contentVerticalAlignment = UIControlContentVerticalAlignmentBottom;//內容文字的位置
/*
 UIControlContentVerticalAlignmentCenter  = 0,
 UIControlContentVerticalAlignmentTop     = 1,
 UIControlContentVerticalAlignmentBottom  = 2,
 UIControlContentVerticalAlignmentFill    = 3,
 */

field.autocapitalizationType = UITextAutocapitalizationTypeNone;//首字母是否大寫
/*
 UITextAutocapitalizationTypeNone,          //全部小寫
 UITextAutocapitalizationTypeWords,         //每個單詞(中間有空格)的首字母大寫
 UITextAutocapitalizationTypeSentences,     //第一個單詞的首字母大寫
 UITextAutocapitalizationTypeAllCharacters, //全部大寫
*/

field.autocorrectionType = UITextAutocorrectionTypeNo;//是否糾錯
/*
 UITextAutocorrectionTypeDefault, //默認
 UITextAutocorrectionTypeNo,      //不自動糾錯
 UITextAutocorrectionTypeYes,     //自動糾錯
*/

field.background = [UIImage imageNamed:@"XX.png"];//設置背景圖片  只有當設置外框類型爲UITextBorderStyleNone時纔有效 

field.clearsOnBeginEditing = YES;//當再次編輯輸入框時 輸入框的內容就會被清空

field.adjustsFontSizeToFitWidth = YES;//設置爲YES時文本會自動縮小以適應文本窗口大小,默認是保持原來大小,而讓長文本滾動

field.clearsOnBeginEditing = YES;//當再次編輯輸入框時 輸入框的內容就會被清空

field.minimumFontSize = 15.0f;//設置輸入框字體最小值

field.disabledBackground = [UIImage imageNamed:@"XX.png"];//當它被禁用時,該圖像表示文本字段的背景外觀。

高級使用:
1.有時爲了讓用戶能更清楚的看到光標會讓光標往右側移動一些,做法是在UITextField的左側放一個UIView視圖

UIView *leftView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 30, 30)];
field.leftView = leftView;
field.leftViewMode = UITextFieldViewModeAlways;//leftViewMode是個枚舉類型
/*
 UITextFieldViewModeNever //總是不顯示
 UITextFieldViewModeWhileEditing //編輯的時候顯示
 UITextFieldViewModeUnlessEditing //除了編輯時顯示
 UITextFieldViewModeAlways //總是顯示
*/

2.左側有一個圖片,這個方法與第一種方法一致,在左側顯示一個UIImageView即可
3.在UITextField中左側與右側一樣只是把left變爲right
4.在UITextField中可以設置很多效果,但是一般都是使用代理來設置

//遵守代理協議 UITextFieldDelegate
field.delegate = self;//設置代理

#pragma mark - UITextFieldDelegate
//設置輸入框,是否可以被修改
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
    return YES;
}

//開始編輯時獲得焦點時,執行該方法
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
}

//是否允許文本字段接觸,當編輯結束,文本字段會讓出first responder
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
    return NO;
}

//文本框結束編輯以後會調用
- (void)textFieldDidEndEditing:(UITextField *)textField
{
}

//是否允許被修改,UITextField內容修改時調用
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    return YES;
}

//是否允許根據用戶請求清除內容
- (BOOL)textFieldShouldClear:(UITextField *)textField
{
    return YES;
}

//是否允許在按下回車鍵時結束編輯
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
    return YES;
}

類似文章推薦:http://blog.csdn.net/KevinQueen/article/details/50548723

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