1

TextView.contentSize.height が特定の制限を超えた後、UItextView がそれ以上の文字を受け入れないようにしたい。ただし、内容を削除することはできます。これを達成する方法。なにか提案を??

4

3 に答える 3

0

textfield と textview のデリゲートとデータソースを使用します。

以下のテキストフィールドデリゲートメソッドの例

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ if (textField == self.txtContact) {
            if ([DebugLog isEqualToString:@"1"]) {
                NSLog(@"%@",textField.text);
            }
            char *x = (char*)[string UTF8String];
            if([string isEqualToString:@"-"] || [string isEqualToString:@"("] || [string isEqualToString:@")"] || [string isEqualToString:@"0"] || [string isEqualToString:@"1"] ||  [string isEqualToString:@"2"] ||  [string isEqualToString:@"3"] ||  [string isEqualToString:@"4"] ||  [string isEqualToString:@"5"] ||  [string isEqualToString:@"6"] ||  [string isEqualToString:@"7"] ||  [string isEqualToString:@"8"] ||  [string isEqualToString:@"9"] || x[0]==0 || [string isEqualToString:@" "]) {
                    if ([DebugLog isEqualToString:@"1"]) {
                        NSLog(@"%d",[string length]);
                    }
                NSUInteger newLength = [textField.text length] + [string length];
                if (!CheckDigit) {
                    if ([textField.text length] == 4) {
                        textField.text =[NSString stringWithFormat:@"%@-",textField.text];
                        CheckDigit=TRUE;
                    }


                }
                if (!CheckDigit1) {
                    if ([textField.text length] == 9) {
                        textField.text =[NSString stringWithFormat:@"%@-",textField.text];
                        CheckDigit1=TRUE;
                    }


                }
                if ([textField.text length]<=4 ) {
                    CheckDigit=FALSE;
                }
                if ([textField.text length]<=9 && [textField.text length]>=4 ) {
                    CheckDigit1=FALSE;
                }

                return (newLength >  11) ? NO : YES;

            } else {
                return NO;
            }

}
于 2012-08-22T12:15:56.743 に答える
0

UITextFieldDelegateプロトコルを見てください。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)stringあなたの友達です。

于 2012-08-22T12:16:05.193 に答える
0

ユーザーが何かを入力するのを避けるためのデリゲートメソッドに従うユーザー

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
  {

   return 0;/// Dont allow user to type

return 1; ///Allow user to type

  }
于 2012-08-22T12:18:36.527 に答える