У меня есть UIView
класс и в этом классе есть UITextView
для использования в качестве inputText
В textViewDidChange
от строки 2 до 5 с любым интер или добавлением текста я добавляю UITextView
bounds.size.height
столько, сколько нужно.
Проблема в том, что в строках 3 и 5 текст первой строки не отображается.
Быть примерно на ряд выше своего собственного пространства.
И создается из нижней части пустого пространства, без прокрутки.
![](https://i.stack.imgur.com/J1XqR.jpg)
Но текст в 4-й строке имеет точное положение
class QuestionCell: UIView, UITextViewDelegate{
var paragraph = UITextView()
func setParagraph(){
let frame = CGRect(x: 50,
y: 0,
width: forground.width-55,
height: forground.height)
paragraph.frame = frame
paragraph.isEditable = true
paragraph.delegate = self
// forground is some UIView in this View
forground.addSubview(paragraph)
}
func textViewDidChange(_ textView: UITextView) {
paragraph.bounds.size.height = paragraph.paragraphHeight
}
}
extension UITextView{
var paragraphHeight: CGFloat{
let fixedWidth = self.width
let newSize = self.sizeThatFits(CGSize.init(width: fixedWidth,
height: CGFloat(MAXFLOAT)))
var newFrame = self.frame
newFrame.size = CGSize.init(width: CGFloat(fmaxf(Float(newSize.width),
Float(fixedWidth))),
height: newSize.height)
return newSize.height
}
}