1

実際には、最初の行の広告のデフォルトで大きくなると、次の行のテキストフィールドにテキストを設定しようとしています。手伝ってくれませんか。私のuitextfieldはIBを介して取得されます。私はそれを書こうとしていて、コメントのようなものを投稿したいと思っています。

[viewFeedback setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"background_Feedback.png"]]];

CGSize size = [txtFeedback.text sizeWithFont:txtFeedback.font];
CGRect f = txtFeedback.frame;
f.size.height = ceil(size.width/f.size.width)*size.height;
txtFeedback.frame = f;

txtFeedback は、ここでのテキスト フィールド名です。

4

1 に答える 1

0

さて、これはUITextfield動的に高さを増やします。これに従うか、カスタムフレームを追加してください

UITextViewDelegate実装ではtextViewDidChange:、特定の幅のテキストのサイズを計算し、それに応じて調整する必要があります。

-(void)textViewDidChange:(UITextView *)textView
{
    NSString *text = [textView text];
    NSFont *font = [textView font];
    CGFloat width = [textView frame].size.width;

    CGSize size = [text sizeWithFont:font constrainedToSize:CGSizeMake(width, 9999) lineBreakMode:UILineBreakModeWordWrap];

    /* Adjust text view width with "size.height" */
}
于 2013-08-05T05:33:32.317 に答える