我有UITableView,UITextfields作为contentView中的子视图。
它们可以正常工作,但是当我选择底部的时候,它们会被键盘覆盖,所以我希望UITableView向上滚动。
这是我目前的代码:
-(void)keyboardWillShow:(NSNotification*)notification {
NSValue *keyboardFrameValue = [[notification userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey];
CGRect keyboardFrame = [[self view] convertRect:[keyboardFrameValue CGRectValue] fromView:nil];
[UIView animateWithDuration:0.3 animations:^{
[constraint setConstant:keyboardFrame.size.height];
[self.myTableView layoutIfNeeded];
}];
}
-(void)keyboardWillHide:(NSNotification *)notification {
[UIView animateWithDuration:0.3 animations:^{
[constraint setConstant:0];
[self.myTableView layoutIfNeeded];
}];
}
这个问题是它弄乱了数据,文本字段被添加到错误的单元格和东西。
希望任何人都可以提供帮助。
答案 0 :(得分:1)
如果可能,使用UITableViewController
,键盘会自动处理。
否则,请将表格视图的contentInset
属性调整为outlined by Apple。