0

UITextView を使用して iPhone アプリで作業しています。コンテンツの長さに基づいて UITextView の高さを増やそうとしています。正常に動作しています。ただし、uitextview の高さが増加すると、UITextView は高さを下に増加するのではなく、上に変更する必要があります。

これは私のプロジェクトで試しているコードです。

    baseView = [[UIView alloc] initWithFrame:CGRectMake(0, 50, 320, 50)];
    baseView.backgroundColor = [UIColor lightGrayColor];
    [self.view addSubview:baseView];

    TextView = [[UITextView alloc] initWithFrame:CGRectMake(20, 10, 280, 40)];
    TextView.backgroundColor = [UIColor whiteColor];
    TextView.layer.borderWidth = 2;
    TextView.delegate = self;
    TextView.font = [UIFont fontWithName:@"Helvetica" size:16];
    [baseView addSubview: TextView];

    -(void)textViewDidChange:(UITextView *)textView
   {
       CGRect frame = messageTextView.frame;
       frame.size.height = messageTextView.contentSize.height;
       TextView.frame = CGRectMake(20, 10, 280, frame.size.height);
       baseView.frame = CGRectMake(0, 50, 320, frame.size.height+20);
   }

UITextView の高さが変更されている場合、効果のテキストビューの高さが上部で増加します。誰でもこれについて私を助けてもらえますか? 前もって感謝します。

4

1 に答える 1

0

フレームを変更する方法frame.origin.yでは、textView

-(void)textViewDidChange:(UITextView *)textView
{
   CGRect frame = messageTextView.frame;
   frame.size.height = messageTextView.contentSize.height;
   TextView.frame = CGRectMake(20, 0, 280, frame.size.height); //previous y was 10
   baseView.frame = CGRectMake(0, 50, 320, frame.size.height+20);
}

textViewそれにもかかわらず、ビューに追加しているため、上に行くには 10 ピクセルしかないことに気付いていると思いますBaseView

于 2012-07-05T13:43:34.800 に答える