UITextField的使用和 鍵盤處理!U骼洹择膝!

怎么改變uitextfield placeholder的顏色和位置?

-1检激、繼承uitextfield肴捉,重寫這個方法

- (void) drawPlaceholderInRect:(CGRect)rect {
[[UIColor blueColor] setFill];
[self.placeholder drawInRect:rect withFont:self.font lineBreakMode:UILineBreakModeTailTruncation alignment:self.textAlignment];
}

輸入長度的控制 -- (這個控件的使用重點8孤隆)

有個需求 ,要求輸入的密碼 和 用戶名的長度不超過 6位齿穗?

  • 通常我們使用的是:


    判斷長度.png
  • 但是傲隶,上面的判斷是有問題的!并不能很好的判斷!

  • 接下來是我要用UITextfiled 的一個代理方法處理那個問題窃页,首先跺株,設(shè)置代理 <UITextFieldDelegate> 和 textField.delegate = self;

下面是代碼.png

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
// 用當(dāng)前輸入框中得文本創(chuàng)建一個可變字符串
NSMutableString * muStr = [[NSMutableString alloc] initWithString:textField.text];
// 將當(dāng)前輸入的字符插入到可變字符串相應(yīng)的位置
[muStr insertString:string atIndex:range.location];

    //    判斷插入以后是否大于允許輸入的最大長度
      return muStr.length <= 6;

    }
  • 通常我們會加邏輯判斷一下:if (xxx == _xxx)
邏輯判斷一下.png

下面是介紹 UITextField 的基本用法:

1、屬性的設(shè)置

    <1>字體                        --  font
    <2>文本顏色                     --  color
    <3>設(shè)置密碼輸入鍵盤               -- secureTextEntry
    <4>設(shè)置鍵盤類型                  -- keyboardType
    <5>設(shè)置清除模式                  --  clearButtonMode
    <6>設(shè)置空白提示                  -- placeholder
    <7>設(shè)置是否自動大寫               --  autocapitalizationType
    <8>是否自動顯示修正后的單詞        --autocorrectionType
 <9>設(shè)置文本對齊方式          --  textAlignment
    <10>設(shè)置背景圖片                  --   background
    <11>左側(cè)提示圖片                  --  leftView
  • 文本顏色

文本顏色.png
        _nameTextFile.textColor = [UIColor orangeColor];// 文本顏色
  • 設(shè)置密碼輸入鍵盤脖卖、鍵盤類型

    // 密碼類型
    _nameTextFile.secureTextEntry = YES;// 密碼類型
    // 鍵盤模式
    _nameTextFile.keyboardType = UIKeyboardTypeNumberPad; //鍵盤模式
    // 設(shè)置清除模式
    _nameTextFile.clearButtonMode = UITextFieldViewModeAlways;// 設(shè)置清除模式
1.png
// 設(shè)置空白提示
    _nameTextFile.placeholder = @"請輸入密碼";
  • 設(shè)置空白提示

設(shè)置空白提示.png
  • 去掉自動大小寫
       // 去掉自動大小寫
      _nameTextFile.autocapitalizationType = UITextAutocapitalizationTypeNone;
    
小寫.png
  • 關(guān)閉拼寫自動提示

      // 關(guān)閉拼寫自動提示
      _nameTextFile.autocorrectionType = UITextAutocorrectionTypeNo;
    
  • 設(shè)置文本對齊方式

        // 設(shè)置文本對齊方式
        _nameTextFile.textAlignment = NSTextAlignmentRight;
    
對齊方式.png
  • 設(shè)置背景圖片

  • 注意:如果設(shè)置 borderStyle 為:UITextBorderStyleRoundedRect乒省,背景圖片是顯示不出來的!其它類型都可以設(shè)置圖片畦木!
圖片丑了點.png
  • 導(dǎo)航欄左側(cè)提示圖片 ---(leftView 和 leftViewMode 是同時使用的袖扛!)

     UIImageView *imgView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];
      imgView.image = [UIImage imageNamed:@"logo64X64"];
    // xxxModel顯示模式 和 xxxView 一齊使用
       _nameTextFile.leftView = imgView;
      _nameTextFile.leftViewMode = UITextFieldViewModeAlways;// 設(shè)置模式,才能顯示
    
左右兩邊都可以設(shè)置提示圖標(biāo).png

鍵盤處理: --- 首先要設(shè)置 delegate

  • <UITextFieldDelegate> 和 _nameTextFile.delegate = self;

  • 文本框 和 鍵盤是同時使用的十籍,就像leftView 和 leftViewMode 是同時使用的蛆封!

  • // 重寫代理方法 -- 點擊 鍵盤 “return”按鈕退出鍵盤
    - (BOOL)textFieldShouldReturn:(UITextField *)textField
    {
        // 退出鍵盤
      [_nameTextFile resignFirstResponder];
      return YES;
    }
    
  • 方式2 --- 點擊背景則回收鍵盤(背景圖片添加手勢)或 使用UIView。

點擊.png
  • 點擊鍵盤“return”按鈕勾栗,自動切換到下一個輸入框惨篱?

  • 要處理鍵盤遮蓋文本寬!設(shè)置 frame 的View 往上移動械姻!
  • 多個文本框:其實一樣妒蛇!執(zhí)行代理方法。判斷一下哪個退出楷拳,那個成為第一響應(yīng)者绣夺!---- 最后,恢復(fù)View 的frame欢揖!
方法2.png
  • 用手勢就跟簡單了:只需在手勢的構(gòu)造器里陶耍,直接 退出第一響應(yīng)者就OK了。

手勢直接退出鍵盤.png

使用 NSNotificationCenter處理鍵盤"遮蓋"輸入框 和 退出她混?

  • 注意 name 的值A页!坤按!

    //    監(jiān)聽鍵盤顯示的通知
    //    當(dāng)接收到UIKeyboardWillShowNotification 通知以后就給self 發(fā)送一個ViewUp消息
    //  注意:name
      [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(viewUp) name:UIKeyboardWillShowNotification object:nil];
    
      // 通知中心 -- 注意:name 的值
      [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(viewBack) name:UIKeyboardWillHideNotification object:nil];
    
  • 通知方法 -- 處理遮蓋輸入框毯欣!

    // View 的frame 向上移動 80
    -(void)viewUp{
    NSLog(@"鍵盤出來啦");
    self.view.frame = CGRectMake(0, -80, 320, 480);
    }
    
    // 恢復(fù) View 的frame
    -(void)viewBack{
    self.view.frame = CGRectMake(0, 0, 320, 480);
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市臭脓,隨后出現(xiàn)的幾起案子酗钞,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件砚作,死亡現(xiàn)場離奇詭異窘奏,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)葫录,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進(jìn)店門着裹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人米同,你說我怎么就攤上這事骇扇。” “怎么了窍霞?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵匠题,是天一觀的道長。 經(jīng)常有香客問我但金,道長韭山,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任冷溃,我火速辦了婚禮钱磅,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘似枕。我一直安慰自己盖淡,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布凿歼。 她就那樣靜靜地躺著褪迟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪答憔。 梳的紋絲不亂的頭發(fā)上味赃,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天,我揣著相機(jī)與錄音虐拓,去河邊找鬼心俗。 笑死,一個胖子當(dāng)著我的面吹牛蓉驹,可吹牛的內(nèi)容都是我干的城榛。 我是一名探鬼主播,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼态兴,長吁一口氣:“原來是場噩夢啊……” “哼狠持!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起瞻润,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤喘垂,失蹤者是張志新(化名)和其女友劉穎献汗,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體王污,經(jīng)...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年楚午,在試婚紗的時候發(fā)現(xiàn)自己被綠了昭齐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,773評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡矾柜,死狀恐怖阱驾,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情怪蔑,我是刑警寧澤里覆,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站缆瓣,受9級特大地震影響喧枷,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜弓坞,卻給世界環(huán)境...
    茶點故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一隧甚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧渡冻,春花似錦戚扳、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至超歌,卻和暖如春砍艾,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背握础。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工辐董, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人禀综。 一個月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓简烘,卻偏偏與公主長得像,于是被迫代替她去往敵國和親定枷。 傳聞我的和親對象是個殘疾皇子孤澎,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,689評論 2 354

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