我需要创建一个UITableView
,其中UITableViewCell
包含UITextView
非常类似于“通讯录”应用中的“备注”字段。
触摸文本视图时,键盘会启动,光标会正确滚动到键盘顶部。我该怎么做?
输入更多行时,UITextView
已正确展开,并滚动UITableView
。这是怎么做到的?
我一直在尝试Stack Overflow的许多示例和解决方案。大多数人正在处理调整文本视图高度的问题。我能够做到这一点。但是,我无法在编辑模式下找到任何处理表视图单元格和文本视图的内容。我希望一些有经验的iOS开发人员能够在这里伸出援助之手。提前谢谢。
答案 0 :(得分:0)
您可以通过在键盘出现时偏移UITableView内容来实现此目的。
- (void)keyboardWillShow
{
CGSize keyboardSize = [[[notification userInfo] objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
UIEdgeInsets contentInsets = UIEdgeInsetsMake(0.0, 0.0, (keyboardSize.height), 0.0);
self.tableView.contentInset = contentInsets;
self.tableView.scrollIndicatorInsets = contentInsets;
[self.tableView scrollToRowAtIndexPath:self.editingIndexPath atScrollPosition:UITableViewScrollPositionTop animated:YES];
}
在键盘返回时重置edgeinset:
- (void)keyboardWillHide:(NSNotification *)notification
{
self.tableView.contentInset = UIEdgeInsetsZero;
self.tableView.scrollIndicatorInsets = UIEdgeInsetsZero;
}
对于代码和实现,我建议HERE