繁体   English   中英

UITable中的TextField在键盘上滚动

[英]TextField in UITable Scroll on KeyBoard

我在UITableViewUITextField ,当我单击UITextField我已经移动了偏移量,但是我的问题是,当用户滚动到下一个字段时,它会显示奇怪的行为,有时输入刷新或焦点将返回到先前的UITextField

请参阅此代码并根据您的项目实施

  • (BOOL)textFieldShouldBeginEditing:(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; //删除键盘覆盖的区域

    CGFloat y = viewCenterY-availableHeight / 2.0;
    如果(y <0){
    y = 0;
    }
    [scrollview setContentOffset:CGPointMake(0,y)animation:YES];

}

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

if ([textField isEqual:txtStAppField])
{
    [txtStConfirmField becomeFirstResponder];
}
else if ([textField isEqual:txtStConfirmField])
{
    [txtDummyAppField becomeFirstResponder];
}
else if ([textField isEqual:txtStConfirmField])
{
    [txtDummyConfirmFeild becomeFirstResponder];
}
else 
{
    [textField resignFirstResponder];       
    [scrollview setContentOffset:CGPointMake(0, 0) animated:YES];
}

return YES;

}

// txtStConfirmField,txtDummyConfirmFeild,txtDummyAppField,txtStConfirmField,txtStConfirmField是tectField名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM