2

我有 aUITableView和它UITableViewCell的 s 可以通过函数独立改变它们的大小tableView:heightForRowAtIndexPath。他们存储UIImage不同大小的 s。当我点击图像时,会显示键盘(假设它用于标记图像)。

当我有 3 个单元格(图像)时,总高度比屏幕尺寸小 1 个像素,这一切都很好显示键盘,我可以滚动查看所有单元格(图像)。

但是当我再添加一个,将总尺寸推到超过屏幕时,一切都会中断。似乎显示了键盘(我在顶部有一个额外的按钮,使其比原来的键盘高一些像素,如图所示)。但是我什么都写不出来。键盘顶部的按钮是退出键盘,它不起作用。这有点卡住了。

该项目可以在这里下载:https ://github.com/TokyoBirdy/cecilia/tree/master/Test (请原谅乱码)

4

1 回答 1

0

通过删除编辑视图原点的代码,我能够解决锁定滚动的问题。此外,我在计算中使用 tableview 的 contentSize 属性实现了滚动到底部单元格。

-(void) keyboardWillShow:(NSNotification *)note
{

  if(!isKeyboardShowing)
    {
    isKeyboardShowing = YES;
    CGRect keyboardBounds;
    [[note.userInfo valueForKey:UIKeyboardBoundsUserInfoKey] getValue: &keyboardBounds];
    CGFloat keyboardHeight = keyboardBounds.size.height;

            CGRect frame = self.view.frame;
            frame.size.height += keyboardHeight;
            self.view.frame = frame;

    CGPoint scrollPoint = frame.origin;
    scrollPoint.y += _tableView.contentSize.height - keyboardHeight;
    [_tableView setContentOffset:scrollPoint animated:YES];
    }
}
于 2013-10-06T05:59:35.540 回答