我是iPhone新手,我的应用程序中有10个文本域,位于scrollview中。 我需要的是当用户触摸文本字段时,scrollview应该以这种方式滚动,这样文本字段就不应该在键盘后面。
帮助我。
感谢您对我的帮助。
答案 0 :(得分:1)
覆盖像这样的文本域委托方法
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
[self scrollViewToCenterOfScreen:textField];
}
//此方法将当前选定的文本字段移动到可见区域
-(void)scrollViewToCenterOfScreen:(UIView *)theView
{
CGFloat viewCenterY = theView.center.y;
CGRect applicationFrame = [[UIScreen mainScreen] applicationFrame];
CGFloat availableHeight = applicationFrame.size.height - 200; // Remove area covered by keyboard
CGFloat y = viewCenterY - availableHeight / 2.0;
if (y < 0) {
y = 0;
}
[scrollview setContentOffset:CGPointMake(0, y) animated:YES];
}
当您想要关闭键盘覆盖此委托时
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
[self.scrollview setContentOffset:CGPointMake(0, 0) animated:YES];
return YES;
}