iOS-個人整理04 - UITextField文本輸入框

UITextField--文本框

UITextField是控制文本輸入和顯示的控件违寿,只能輸入單行


#pragma mark UITextField文本框,單行  
      
    //初始化  
    UITextField *myTextField = [[UITextField alloc]initWithFrame:CGRectMake(100, 350, 150, 20)];  
  
    //占位字符,沒有輸入時顯示的文本笙以,點擊文本框時自動清空  
    myTextField.placeholder = @"請輸入手機號";  
  
    //設(shè)置鍵盤樣式,數(shù)字鍵盤,字母鍵盤等  
    myTextField.keyboardType = UIKeyboardTypeNumberPad;  
      
    //設(shè)置邊框樣式  
    myTextField.borderStyle = UITextBorderStyleRoundedRect;  
  
    //設(shè)置密碼樣式,使輸入內(nèi)容隱藏  
    myTextField.secureTextEntry = NO;  
    [self.window addSubview:Line];  
      
    //設(shè)置右側(cè)小叉號,點擊可以刪去所有輸入內(nèi)容  
    myTextField.clearButtonMode = UITextFieldViewModeAlways;  
    //設(shè)置首字母大寫  
    myTextField.autocapitalizationType = UITextAutocapitalizationTypeWords;  
      
    //通過屬性控制是否可以編輯  
    myTextField.enabled = YES;  
  
    //自定義鍵盤  
    UIView *keyBoardView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.window.frame), 256)];  
     
    //定義一個button放在鍵盤上  
    UIButton *firstButton = [UIButton buttonWithType:UIButtonTypeSystem];  
    [firstButton setTitle:@"1" forState:UIControlStateNormal];  
    firstButton.frame = CGRectMake(10, 10, 50, 50);  
    [keyBoardView addSubview:firstButton];  
    firstButton.backgroundColor = [UIColor whiteColor];  
    //設(shè)置點擊效果  
    [firstButton addTarget:self action:@selector(keyButton:) forControlEvents:UIControlEventTouchUpInside];  
      
    myTextField.inputView = keyBoardView;  
      
    //顯示  
    [self.window addSubview:myTextField];  
      
    //新建一個輸入框笼吟,設(shè)置代理方法  
    UITextField *delegateTextField = [[UITextField alloc]initWithFrame:CGRectMake(10, 200, 100, 100)];  
    delegateTextField.borderStyle = UITextBorderStyleLine;  
    delegateTextField.placeholder = @"代理方法";  
      
    delegateTextField.keyboardType = UIKeyboardTypeDefault;  
    //設(shè)置代理方法,代理人是本類  
    delegateTextField.delegate = self;  
    [self.window addSubview:delegateTextField];  
  
    return YES;  
}  
  
//自定義按鈕的  
-(void)keyButton:(UIButton*)sender  
{  
    sender.selected = !sender.selected;  
    UITextField *field = (UITextField*)[self.window viewWithTag:1001];  
    NSString *title = [sender titleForState:UIControlStateNormal];  
    field.text = [field.text stringByAppendingString:title];  
  
    //回收鍵盤 取消第一響應(yīng)者 結(jié)束編輯狀態(tài)  
    [field resignFirstResponder];  
  
    //另一種方法回收鍵盤  
    //[self.view endEditing YES];  
  
    //變?yōu)榈谝豁憫?yīng)者  
    [field becomeFirstResponder];  
 }  

遵守代理協(xié)議<TextFieldDelegate>后可執(zhí)行下面的方法

#pragma makr 代理方法  
  
//是否可以開始編輯狀態(tài)  
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField  
{  
    NSLog(@"%s",__func__);  
    return YES;  
}  
  
//已經(jīng)進入編輯狀態(tài)  
-(void)textFieldDidBeginEditing:(UITextField *)textField  
{  
    NSLog(@"%s",__func__);  
}  
//是否可以結(jié)束編輯  
-(BOOL)textFieldShouldEndEditing:(UITextField *)textField  
{  
    NSLog(@"%s",__func__);  
    return YES;  
}  
//已經(jīng)結(jié)束編輯狀態(tài)  
-(void)textFieldDidEndEditing:(UITextField *)textField  
{  
    NSLog(@"%s",__func__);  
}  
//點擊右下角return按鈕所觸發(fā)的代理方法  
-(BOOL)textFieldShouldReturn:(UITextField *)textField  
{  
    NSLog(@"return");  
    //在此回收鍵盤  
    [textField resignFirstResponder];  
    return YES;  
}  
  
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string  
{  
    //可以限制文字的改變  
    return YES;  
}   

設(shè)置了代理方法后霸旗,UITextField的各種狀態(tài)會觸發(fā)代理方法,在本例中代理人設(shè)置成了self戚揭,也就是本類诱告,然后在本類中實習(xí)代理協(xié)議要求的方法,這些方法都是@optional的民晒,可以選擇性實現(xiàn)

長按文字提示粘貼復(fù)制默認是英文精居,改為中文:
在info.plist中添加Localized resources can be mixed,設(shè)置為YES.

運行,就OK了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市潜必,隨后出現(xiàn)的幾起案子靴姿,更是在濱河造成了極大的恐慌,老刑警劉巖磁滚,帶你破解...
    沈念sama閱讀 212,542評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件佛吓,死亡現(xiàn)場離奇詭異,居然都是意外死亡垂攘,警方通過查閱死者的電腦和手機维雇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來晒他,“玉大人吱型,你說我怎么就攤上這事≡山觯” “怎么了津滞?”我有些...
    開封第一講書人閱讀 158,021評論 0 348
  • 文/不壞的土叔 我叫張陵铝侵,是天一觀的道長。 經(jīng)常有香客問我触徐,道長咪鲜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,682評論 1 284
  • 正文 為了忘掉前任锌介,我火速辦了婚禮嗜诀,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘孔祸。我一直安慰自己隆敢,他們只是感情好,可當我...
    茶點故事閱讀 65,792評論 6 386
  • 文/花漫 我一把揭開白布崔慧。 她就那樣靜靜地躺著拂蝎,像睡著了一般。 火紅的嫁衣襯著肌膚如雪惶室。 梳的紋絲不亂的頭發(fā)上温自,一...
    開封第一講書人閱讀 49,985評論 1 291
  • 那天,我揣著相機與錄音皇钞,去河邊找鬼悼泌。 笑死,一個胖子當著我的面吹牛夹界,可吹牛的內(nèi)容都是我干的馆里。 我是一名探鬼主播,決...
    沈念sama閱讀 39,107評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼可柿,長吁一口氣:“原來是場噩夢啊……” “哼鸠踪!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起复斥,我...
    開封第一講書人閱讀 37,845評論 0 268
  • 序言:老撾萬榮一對情侶失蹤营密,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后目锭,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體评汰,經(jīng)...
    沈念sama閱讀 44,299評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,612評論 2 327
  • 正文 我和宋清朗相戀三年痢虹,在試婚紗的時候發(fā)現(xiàn)自己被綠了键俱。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,747評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡世分,死狀恐怖编振,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤踪央,帶...
    沈念sama閱讀 34,441評論 4 333
  • 正文 年R本政府宣布臀玄,位于F島的核電站,受9級特大地震影響畅蹂,放射性物質(zhì)發(fā)生泄漏健无。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,072評論 3 317
  • 文/蒙蒙 一液斜、第九天 我趴在偏房一處隱蔽的房頂上張望累贤。 院中可真熱鬧,春花似錦少漆、人聲如沸臼膏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽渗磅。三九已至,卻和暖如春检访,著一層夾襖步出監(jiān)牢的瞬間始鱼,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評論 1 267
  • 我被黑心中介騙來泰國打工脆贵, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留医清,地道東北人。 一個月前我還...
    沈念sama閱讀 46,545評論 2 362
  • 正文 我出身青樓卖氨,卻偏偏與公主長得像会烙,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子双泪,可洞房花燭夜當晚...
    茶點故事閱讀 43,658評論 2 350

推薦閱讀更多精彩內(nèi)容