Подробности проблемы:
- При вводе чисел текстовое поле расширяется за пределы предполагаемой рамки.
- Текстовое поле должно сохранять свой размер и уменьшать шрифт. для более длинных номеров
- В настоящее время используется AdjustsFontSizeToFitWidth = true, но он не работает должным образом
Проблема заключается в DegenTrader/Views/Swap/SwapView.swift, особенно в реализации CustomTextField:
Код: Выделить всё
struct CustomTextField: UIViewRepresentable {
// ... other properties
func makeUIView(context: Context) -> UITextField {
let textField = UITextField()
textField.adjustsFontSizeToFitWidth = true
textField.minimumFontSize = 16
// ... other configurations
}
}
Код: Выделить всё
HStack(spacing: 12) {
CustomTextField(text: $fromAmount, field: .from, focusedField: $focusedField)
.frame(maxWidth: .infinity, maxHeight: 40)
Button(action: { showFromTokenSelect = true }) {
TokenButton(token: selectedFromToken, action: { showFromTokenSelect = true })
}
.frame(width: 140)
}
.frame(height: 40)
- Текстовое поле должно сохранять размер кадра.
- Шрифт должен автоматически уменьшаться для более длинных чисел.
- Макет должен оставаться стабильным независимо от длины ввода.
- Текстовое поле выходит за пределы рамки.
- Макет ломается при вводе длинных чисел.
- Положение курсора становится непоследовательным.
- iOS 15.0+
- SwiftUI
- Xcode 14+
Будем очень признательны за любую помощь в устранении этой проблемы с макетом при сохранении функции масштабирования шрифта.
Подробнее здесь: https://stackoverflow.com/questions/793 ... ng-numbers