Ios 在UITableView单元格内自动生成UITextView
我有一个静态UItableView,其中一个单元格包含文本视图,它希望使文本视图自动增长,同时使单元格增长。始终包装文本,而不是剪切文本 在IsAlted文本视图中,我不会面对这个问题,因为我有固定的大小,为了显示长文本,我只在textview中滚动,但在这种情况下,我不想滚动,因为我的UITextView设置为不可滚动,因为父级(UITableView)已经有滚动,我想避免嵌套滚动 我解决这个问题的方法是超高。。。。每次用户使用sizeThatFits(size:CGSize)键入以了解requerid大小,然后设置UITextView单元格大小并正确显示文本时,都会重新加载我的视图 但细胞只增长了一点,还不够,我研究了大小是否合适,以了解是否如我所理解的那样,是一种让一个物体的测量值适合另一个物体的方法,还是有其他参数需要关注,比如填充、边距或收缩,我无法找到这些东西的解释 那么我有这个问题,, 我不明白这个方法吗?我该如何使用它? 我是否走上了实现目标的正确道路?还是有更好的方法 非常感谢你Ios 在UITableView单元格内自动生成UITextView,ios,swift,uitableview,Ios,Swift,Uitableview,我有一个静态UItableView,其中一个单元格包含文本视图,它希望使文本视图自动增长,同时使单元格增长。始终包装文本,而不是剪切文本 在IsAlted文本视图中,我不会面对这个问题,因为我有固定的大小,为了显示长文本,我只在textview中滚动,但在这种情况下,我不想滚动,因为我的UITextView设置为不可滚动,因为父级(UITableView)已经有滚动,我想避免嵌套滚动 我解决这个问题的方法是超高。。。。每次用户使用sizeThatFits(size:CGSize)键入以了解req
override func tableView(tableView: UITableView,
heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
let defaulHeight: CGFloat = 44
if indexPath.row == textFieldRowNumber {
let cellSize = messageTableViewCell.bounds.size
let wantedSize = longMessageTextField.sizeThatFits(cellSize)
return wantedSize.height
} else {
return defaulHeight
}
}
func textView(textView: UITextView, shouldChangeTextInRange range: NSRange, replacementText text: String) -> Bool {
textView.resignFirstResponder()
let previousMessageInput = longMessageTextField.text
longMessageTextField.text = previousMessageInput! + text
let indexToReload = NSIndexPath(forItem: 4, inSection: 0)
self.tableView.reloadRowsAtIndexPaths([indexToReload], withRowAnimation: UITableViewRowAnimation.Top)
return true
}