UIScrollView滚动问题

时间:2010-06-15 21:21:56

标签: iphone uiscrollview

我有一个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;
}

感谢。

1 个答案:

答案 0 :(得分:3)

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

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

对UIKeyboardWillHideNotification采取相反的行动。