Я использую этот код, пытаясь изменить размер представления, и вывод тоже кажется хорошим. Однако вид не изменяется и остается на одной высоте только для одной строки ...
if self.inputToolbar.contentView.textView.contentSize.height > self.inputToolbar.contentView.textView.frame.size.height {
print("content size : \(self.inputToolbar.contentView.textView.contentSize.height)")
print("frame size : \(self.inputToolbar.contentView.textView.frame.size.height)")
let fixedWidth = self.inputToolbar.contentView.textView.frame.size.width;
self.inputToolbar.contentView.textView.sizeThatFits(CGSize(width: fixedWidth, height: CGFloat.greatestFiniteMagnitude));
var newFrame = self.inputToolbar.contentView.textView.frame;
let newSize = self.inputToolbar.contentView.textView.sizeThatFits(CGSize(width: fixedWidth, height: CGFloat.greatestFiniteMagnitude));
print(newSize.height.description)
newFrame.size = CGSize(width: max(newSize.width, fixedWidth), height: newSize.height);
self.inputToolbar.contentView.textView.frame = newFrame;
print("content size : \(self.inputToolbar.contentView.textView.contentSize.height)")
print("frame size : \(self.inputToolbar.contentView.textView.frame.size.height)")
}
self.inputToolbar.contentView.textView.isScrollEnabled = false;//no matter this, w/ or w/o it does the same
Выход:
content size : 49.0
frame size : 36.0
49.0
content size : 49.0
frame size : 49.0
Как вы можете видеть, размер рамки изменен, но размер ввода текста не изменен ... Я использую JQSMessenger