для прокрутки вниз, когда вы начинаете писать текст внутри UITextfield, используйте это:
[yourScrollView scrollRectToVisible:CGRectMake(yourTextfield.frame.origin.x,yourTextField.frame.origin.y,yourScrollView.frame.size.width,yourScrollView.frame.size.height) animated:YES];
Также, когда вы редактируете свой TextView (т.е. в методе textViewDidBeginEditing), уменьшите его фрейм, чтобы сделатьэто полностью видно.Затем, когда вы закончите редактирование текста (т. Е. В методе textViewDidEndEditing), установите рамку на то, чем она была изначально.
РЕДАКТИРОВАТЬ:
//add this in .h file
NSInteger originalHeight;
//in .m file
- (void) textViewDidBeginEditing:(UITextView *)textView
{
[yourScrollView scrollRectToVisible:CGRectMake(yourTextView.frame.origin.x,yourTextView.frame.origin.y,yourScrollView.frame.size.width,yourScrollView.frame.size.height) animated:YES];
//now set the frame
//you just need to change the height, rest can be kept whatever they are
//set the newHeight so as to make the textview visible
originalHeight = yourTextView.frame.size.height;
yourTextView.frame = CGRectMake(x,y,width,newHeight);
//rest of the code
}
Теперь, когда редактирование завершено, установитевысота, как это было раньше.
- (void) textViewDidEndEditing:(UITextView *)textView
{
yourTextView.frame = CGRectMake(x,y,width,originalHeight);
}