まずこれらのコントロール全体を取り込んUIScrollView
でそのまま設定し、
UITextView
デリゲートメソッドで、ビューのフレームを次のように設定した後textViewDidBeginEditing
...
-(void)textViewDidBeginEditing:(UITextView *)textView
{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.3];
yourScrollView.frame = CGRectMake(yourScrollView.frame.origin.x, -160, yourScrollView.frame.size.width, yourScrollView.frame.size.height);
[UIView commitAnimations];
}
また、次のように戻った後も前と同じように設定します...
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if ([text isEqualToString:@"\n"])
{
[textView resignFirstResponder];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];
yourScrollView.frame = CGRectMake(yourScrollView.frame.origin.x, 0, yourScrollView.frame.size.width, yourScrollView.frame.size.height);
[UIView commitAnimations];
return NO;
}
return YES;
}
UIView
の代わりにUIScrollView
..のフレームを設定することもできます。
また、最初にデリゲートを与え、このデリゲートをファイルUITextView
に追加します.h
これがお役に立てば幸いです...