Iphone UIScrollView滚动问题

Iphone UIScrollView滚动问题,iphone,uiscrollview,Iphone,Uiscrollview,我有一个UIScrollView,在屏幕的下部是一个文本字段。当我选择文本字段时,键盘显示在文本字段上方。UIScrollView中的UIView不够大,无法向上滚动并为键盘释放一些空间。因此,我尝试通过编程方式放大UIView。 这就是我得到的: - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField { UIScrollView *scrollView = (UIScrollView *)[[self view] view

我有一个UIScrollView,在屏幕的下部是一个文本字段。当我选择文本字段时,键盘显示在文本字段上方。UIScrollView中的UIView不够大,无法向上滚动并为键盘释放一些空间。因此,我尝试通过编程方式放大UIView。 这就是我得到的:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {


UIScrollView *scrollView = (UIScrollView *)[[self view] viewWithTag: 2];
UIView *contentview = [[self view] viewWithTag: 3];

CGRect rect = contentview.frame;

rect.size.height = 650;
contentview.frame = rect;

[scrollView setContentSize: contentview.frame.size];

//first try
rect.origin.y = 450;
[scrollView scrollRectToVisible: rect animated: YES]; 

//second try
CGPoint point = CGPointMake(0, 450);
[scrollView setContentOffset: point animated: YES];

return YES;
}

谢谢。

您可以注册以在视图控制器中接收。然后按照通知中提供的键盘大小向上移动视图控制器的视图框

CGRect frame = self.view.frame;
frame.origin.y -= keyboard.size.height;
self.view.frame = frame;
对UIKeyboardWillHideNotification执行相反的操作

CGRect frame = self.view.frame;
frame.origin.y -= keyboard.size.height;
self.view.frame = frame;