предположим, что вам нужно переместить вид вверх в текстовом поле с тэгом 4 (если у вас более 1 текстового поля и одно из них закрыто клавиатурой), а затем использовать метод делегата textField
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
if(textField.tag==4)
CGRect viewFrame;
viewFrame=self.view.frame;
if(viewFrame.origin.y==-100)
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:.3];
viewFrame.origin.y+=100;
self.view.frame=viewFrame;
[UIView commitAnimations];
}
}
это перемещает ваш взгляд.теперь для перемещения вниз вам нужен код в textField и другой метод делегата
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
if(textField.tag==4)
{
CGRect viewFrame;
viewFrame=self.view.frame;
if(viewFrame.origin.y==-100)
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:.3];
viewFrame.origin.y+=100;
self.view.frame=viewFrame;
[UIView commitAnimations];
}
}
}
В случае просмотра текста вам нужна кнопка, а для перемещения вверх по представлению вам нужен этот делегат
- (BOOL)textViewShouldBeginEditing:(UITextView *)textView
ииспользуйте тот же код, что и textField
. Для перемещения вниз вам нужна кнопка либо на панели навигации, либо на панели инструментов, и установите эту панель инструментов над клавиатурой с помощью той же анимации. Для кнопки вам нужен тот же код для перемещения вниз, что применимодля textField.
Надеюсь, это поможет вам.