0

嗨,这是我用来增加 UITextview 高度的方法:

- (void)textViewDidChange:(UITextView *)textView
{
   CGRect frame = textView.frame;
   frame.size.height = textView.contentSize.height;
   textView.frame = frame;
}

这是可行的,问题是在调整 textview 的大小后,如何正确调整 UITextView 下的所有项目?

结构如下:
view
--ScrollView
----TextView
----按钮(在 Rezising textview 之后也移动这个元素)
----TextField(在 Rezising textview 之后也移动这个元素)

4

1 回答 1

0

一种方法是您可能希望将 UIButton 和 UITextField 设置为视图控制器的属性,以便您可以访问它们并在 textViewDidChange 方法中更改它们的 frame 属性。

例如,在 .h 文件中:

@property (weak, nonatomic) IBOutlet UIButton *button; //if you are using IB
@property (weak, nonatomic) IBOutlet UITextField *textField; //do not forget to link these two in the IB

在 .m 文件中:

- (void)textViewDidChange:(UITextView *)textView
{
   CGRect frame = textView.frame;
   frame.size.height = textView.contentSize.height;
   textView.frame = frame;

   self.button.frame = CGRectMake(updatedButtonFrame);
   self.textField.frame = CGRectMake(updatedTextFieldFrame);
}
于 2013-05-17T23:56:59.400 回答