Fix caption field line break

This commit is contained in:
Ilya Laktyushin 2023-09-24 22:22:27 +04:00
parent a735505380
commit bb10525004

View File

@ -870,18 +870,24 @@ public final class TextFieldComponent: Component {
}
}
let wasEditing = component.externalState.isEditing
let isEditing = self.textView.isFirstResponder
if self.textView.textContainerInset != component.insets {
self.textView.textContainerInset = component.insets
}
var availableSize = availableSize
if !isEditing && component.isOneLineWhenUnfocused {
availableSize.width += 32.0
}
self.textContainer.size = CGSize(width: availableSize.width - self.textView.textContainerInset.left - self.textView.textContainerInset.right, height: 10000000.0)
self.layoutManager.ensureLayout(for: self.textContainer)
let boundingRect = self.layoutManager.boundingRect(forGlyphRange: NSRange(location: 0, length: self.textStorage.length), in: self.textContainer)
let size = CGSize(width: availableSize.width, height: min(availableSize.height, ceil(boundingRect.height) + self.textView.textContainerInset.top + self.textView.textContainerInset.bottom))
let wasEditing = component.externalState.isEditing
let isEditing = self.textView.isFirstResponder
var refreshScrolling = self.textView.bounds.size != size
if component.isOneLineWhenUnfocused && !isEditing && isEditing != wasEditing {
refreshScrolling = true
@ -953,6 +959,7 @@ public final class TextFieldComponent: Component {
if let view = self.ellipsisView.view {
if view.superview == nil {
view.alpha = 0.0
view.isUserInteractionEnabled = false
self.textView.addSubview(view)
}
let ellipsisFrame = CGRect(origin: CGPoint(x: position.x - 8.0, y: position.y), size: ellipsisSize)