无法在显示键盘和键盘退出时设置正确的 UITableView 滚动



我有UITableView,在TableView中,我有一个包含标签和文本字段的自定义单元格。现在,当我使用键盘通知程序(出现键盘(并且当我点击一个文本字段然后不按返回按钮时,我点击另一个文本字段,它会将第一个文本字段添加到键盘和第二个文本字段之间的空格添加到键盘,即它对两个文本字段的空间求和,并且它滚动到顶部,文本字段之间有很多空间。谁能告诉我我可以做些什么来保持文本字段之间的恒定适当距离。

这是我的代码:

-(void)keyboardNotifier:(NSNotification *)notification {
    CGRect frame = [RegisterTableVIew frame]; //RegisterTableVIew is  tableview
    frame.size.height -= 200; 
    [RegisterTableVIew setFrame:frame];
keyboardStatus = YES;
}
-(void) keyboardWillHide:(NSNotification *)note
{
   CGRect frame = [RegisterTableVIew frame]; //RegisterTableVIew is  tableview
    frame.size.height += 200; 
    [RegisterTableVIew setFrame:frame];
    keyboardStatus = NO;
}

我不清楚,顺便说一句,这对我很有帮助!

    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    if(![_Search resignFirstResponder])
    {
        [_Search resignFirstResponder];
    }
    else
    {
    }
    [super touchesBegan:touches withEvent:event];
}

试试这个;

-(void)keyboardNotifier:(NSNotification *)notification {
  if(keyboardStatus == NO) {
    CGRect frame = [RegisterTableVIew frame]; //RegisterTableVIew is  tableview
    frame.size.height -= 200; 
    [RegisterTableVIew setFrame:frame];
    keyboardStatus = YES;
  }
}
-(void) keyboardWillHide:(NSNotification *)note
{
 if(keyboardStatus) {
   CGRect frame = [RegisterTableVIew frame]; //RegisterTableVIew is  tableview
    frame.size.height += 200; 
    [RegisterTableVIew setFrame:frame];
    keyboardStatus = NO;
  }
}

我从您的问题中了解到,每次单击文本字段时,tableView 都会向上滚动,从而产生大量空间。

最新更新