我有一个UITableView
,其UITableViewCell
可以通过函数tableView:heightForRowAtIndexPath
独立更改其大小。它们存储了不同大小的UIImage
个。当我点击图像时,会显示键盘(假设它是用于标记图像)。
当我有,比如3个单元格(图像),总高度为1像素 小于屏幕尺寸时,这一切都很好。键盘显示,我可以滚动查看所有单元格(图像)。
但是,当我再添加一个,推动总大小超过屏幕时,它都会中断。键盘似乎显示出来(我在顶部有一个额外的按钮,使其比原始键盘高出一些像素,如图所示)。但我不能写任何东西。键盘顶部的按钮用于重新键盘,但它不起作用。它有点卡住了。
项目可以在这里下载:https://github.com/TokyoBirdy/cecilia/tree/master/Test(原谅凌乱的代码)
答案 0 :(得分: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];
}
}