2012-08-28 52 views
1

我是iPhone新手,我的应用程序中有10个文本框在scrollview中。 我需要的是当用户触摸一个文本域时,scrollview应该以这种方式滚动,以便textfield不应该在键盘后面。TextView里面的scrollView iPhone

帮帮我。

感谢您对我的帮助。

+0

** 1。**将当前视图向上移动到可见区** 2。**或减少'U当键盘显示时,可见房间的“IScrollView”大小。 – holex

回答

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