当我尝试滚动并编辑UITableView底部的单元格时,我无法让我的单元格正确定位在键盘上方。实际上键盘隐藏了一半的表视图。
我还为我的单元格分别创建了一个自定义单元格类。因此,文本字段委托仅在该类上可用。我不能在我的表biew的视图控制器中使用它们
我看到很多答案都在谈论改变视图大小等等......但到目前为止,它们都没有很好地运作。
任何人都可以通过一段代码帮助我解决这个问题
答案 0 :(得分:1)
现在更简单的方法(不知道这有多久):如果你要覆盖viewWillAppear,请确保包含在顶部
[super viewWillAppear:animated];
我已准备好开始收听键盘事件,设置和删除约束,只有这一行消除了所有其他代码。
答案 1 :(得分:0)
您想要调整UITableView的scrollView组件。设置视图控制器以响应键盘通知。像这样:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
}
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil];
}
然后创建一个keyboardWillShow:函数并通过操作tableView.scrollview.contentOffset来调整tableview(它可能是tableView.contentOffset,我不在xcode附近)。确保使用keyboardWillHide函数将其调整回0,0。