0

テキストが蓄積されるにつれて、textView フレームを水平方向にスケーリングしようとしています。これを実現するためにコードブローを使用しています。フレームは予想どおり垂直方向にスケーリングされますが、サイズは水平方向に固定されているようです。

 [myTextView setFrame:CGRectMake(myTextView.frame.origin.x, myTextView.frame.origin.y, myTextView.contentSize.width, myTextView.contentSize.height)];

誰かが見たい場合は、これがプロジェクト(27K)です。

読んでくれてありがとう。

4

2 に答える 2

1

あなたの答えはnotes-appにあります。

于 2012-08-31T12:26:29.973 に答える
1

.h ファイルに UITextView デリゲートを実装します。

@interface ViewController : UIViewController<UITextViewDelegate>

yourTextView が xib から追加された場合は、デリゲートをファイル所有者にバインドします。それ以外の場合は、ViewDidLoad に次の行を追加します。

yourTextView.delegate = self;

要件に合わせて textView のデリゲートを使用します。

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
   CGSize maximumSize = CGSizeMake(2000,40); //specify height of textView  and maximum width for text to fit in height of textView as u want text horizontally
   CGSize *txtSize = [textView.text sizeWithFont:[UIFont fontWithName:@"Arial" size:16] constrainedToSize:maximumSize lineBreakMode:UILineBreakModeCharacterWrap]; //calulate size of text by specifying font here
   //Add UIViewAnimation here if needed
   [textView setFrame:CGRectMake(textView.frame.origin.x,textView.frame.origin.y,txtSize.width+10,txtSize.height+10)]; // change accordingly
   return YES;
}
于 2012-08-31T12:35:42.497 に答える