2011-01-07 7 views
0

私はUITextViewを持っています。サイズはsetFrame:CGRectMake(30,100,273,140)で設定します。IPhone:テキストがUITextviewのサイズを超えた場合、テキストを挿入できないようにするには

TextViewのサイズを超えるテキストを挿入しないようにしたいと思います。

だから私は試してみた:

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text { 
if ((textView.contentOffset.y + textView.frame.size.height) < textView.contentSize.height){ 
    return NO; 
} 
else { 
    return YES; 
} 
return YES; 
} 

PBは条件が満たされたとき、私は余分なテキストを消去するには、バックスペースを使用できないということです。テキストビューは編集できなくなりました。私はここで間違って何をしていますか?

ありがとうございました。

答えて

0

を言うところ、私は」だと思い、フォントについての私の頭の何の上部をオフに知りません今度は自分で見つけました。

私はそれが最良の解決策であるかどうかわかりませんが、少なくともそれは問題なく動作します。

- (void)textViewDidChange:(UITextView *)uiViewContent{ 
if ((uiViewContent.contentOffset.y + uiViewContent.frame.size.height) < self.entryTextField2.contentSize.height){ 
self.entryTextField2.text=[self.entryTextField2.text substringToIndex:[self.entryTextField2.text length] - 1]; 
} 
} 

マイク

0

これに似たものを試しましたか?私はそれを本当に素早く書き、それをテストしていない。それが動作するかどうか私に教えてください。あなたには、いくつかの読書を行うと、それに応じてコードを調整する必要がありますので、私はそれがOK whateveryourfontis

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text { 
    NSSTring *newString = [NSString stringWithFormat:@"%@%@", textView.text, text]; 
    CGSize *newSize = [newString sizeWithFont: [UIFont _whateveryourfontis_] constrainedToSize:textView.frame.size]; 
    return (newSize.height > textView.frame.size.height) ? NO : YES; 
} 
+0

[OK]を...それが誰かを助けることを願って、私はあなたのコードを読んでいると、あなたのソリューションは、テキストがに収まるようにするために、フォントのサイズを適応させることにあります実際には、フォントのサイズを変更したくない場合、UITextView内のテキストは、UILlocalNotificationによって起動されるため、制御できないUIAlertviewに表示されます。私がする必要があるのは、ユーザーがUITextViewの最後に達すると、余分な文字を削除するためにバックスペースを使用できるか、またはUItextViewの内容を言い換えることができる間に、さらに文字を追加することができないようにすることです。 –

関連する問題