scrollView iPhone中的Textfield

时间:2012-08-28 08:52:25

标签: iphone ios ios5

我是iPhone新手,我的应用程序中有10个文本域,位于scrollview中。 我需要的是当用户触摸文本字段时,scrollview应该以这种方式滚动,这样文本字段就不应该在键盘后面。

帮助我。

感谢您对我的帮助。

1 个答案:

答案 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;
}