2016-06-07 31 views
-2

這裏是我的代碼:客觀c - 我如何減少uilabel中的文本在ios中輸入texfield時的數量?

(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 
    { 
     //_length -= 1; 
     //[self.lbl setText:[NSString stringWithFormat:@"%d", self.length]]; 
     _lbl.text = [NSString stringWithFormat:@"%lu",[AnswerText.text length]]; 

     NSUInteger newLength = [AnswerText.text length] + [string length] - range.length; 
     return (newLength > 15) ? NO : YES; 


    } 
在這方面,我可以限制了其必須填寫 textfield最大數量

,但我需要去遞減已經重視15當我開始打字就應該減少標籤textfield1

回答

0

首先爲此文本字段設置委託。 試試這個代碼:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 
{ 
    if (textField == AnswerText) { 
     if (([AnswerText.text length] + [string length]) > 15) { 
      return NO; 
     } 

     _lbl.text = [NSString stringWithFormat:@"%ld", (long)(150 - ([AnswerText.text length] + [string length]))]; 
    } 

    return YES; 
} 

希望這可以幫助你。

+0

thnku so mch ..其工作 – aarti

+0

不客氣。 :) –

+0

爲了處理某人選擇部分textField並替換它(通過鍵入或粘貼)的情況,使用textField **將在編輯後的長度更準確。例如:'NSMutableString * tempString = [AnswerText.text mutableCopy]; [tempString replaceCharactersInRange:range withString:string];'並與'[tempString length]'進行比較。 –

相關問題