调整大小后如何调整UITextView下的项目?

时间:2013-05-17 21:56:38

标签: objective-c

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

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

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

结构如下:
     查看
     --ScrollView
     ---- TextView的
     ----但是(在重新调整textview之后也移动了这个元素)
     ---- TextField(在重新调整textview之后也移动这个元素)

1 个答案:

答案 0 :(得分: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);
}