1

TextView.contentSize.widthは、UITextViewの.frame.size.widthを設定するためには機能しません。

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

UITextViewのフレームの高さをcontentSize.heightプロパティに設定すると、ビューのフレームがコンテンツの現在の垂直方向のサイズに適したサイズに拡大縮小されます。何らかの理由で、ビューのフレームの幅は同じように応答しません。テキスト入力の量に関係なく、同じサイズのままです。

UITextViewのcontentsizeを動的にログに記録すると、ビューにテキストを入力しているときに、heightプロパティが(改行ごとに)変更されますが、widthは変更されません。widthプロパティが何をしているのか、何のためにあるのか不思議に思います。

4

2 に答える 2

1

UITextViewの幅に応じて、次のようになります。

UIFont *myFont = [UIFont boldSystemFontOfSize:15.0]; //your font specification here
NSString *strText = yourTextView.text;
CGSize strsize = [strText sizeWithFont:myFont
                          forWidth:yourTextView.frame.size.width 
                    lineBreakMode:UILineBreakModeWordWrap]; //get string size
yourTextView.frame = CGRectMake(yourTextView.frame.origin.x,yourTextView.frame.origin.y,strsize.width,strsize.height+10); //change accordingly
于 2012-09-12T05:42:12.180 に答える
1

この方法を試してください..

UIFont *font = [UIFont fontWithName:@"Enriqueta" size:15];
NSString *text = @"Your text";
CGSize frameSize = [text sizeWithFont:font];
CGRect originalFrame = textViewA1.frame;
textViewA1.frame = CGRectMake(CGRectGetMinX(originalFrame), CGRectGetMinY(originalFrame), frameSize.width, frameSize.height);
于 2012-09-12T04:23:56.387 に答える