Код: Выделить всё
HStack
{
TextField("", text: self.$textFieldUserInput, axis: .vertical).lineLimit(1...).focused(self.$textFieldIsFocused)
Button(""){}.buttonStyle(.borderedProminent)
Spacer()
}

Когда мне это нужно:

Я придумал достойное решение, которое заменяет TextField, когда оно не сфокусировано на текстовом компоненте:
Код: Выделить всё
ZStack(alignment: .leading)
{
TextField("", text: self.$textFieldUserInput, axis: .vertical)
.lineLimit(1...)
.focused(self.$textFieldIsFocused)
.opacity(self.textFieldIsFocused ? 1 : 0)
if (!self.textFieldIsFocused)
{
HStack
{
Text(self.textFieldUserInput)
.onTapGesture
{
self.textFieldIsFocused = true
}
Button(""){}.buttonStyle(.borderedProminent)
}
}
}
Редактировать: я пробовал большинство решений (SwiftUI) TextField принимает максимальную ширину и Как динамически регулировать ширину TextField в соответствии с его содержимым?), которые включают использование фиксированного размера, но это не работает, если вы хотите многострочный текст и должны использовать ось: .vertical в TextField.
Мне интересно, есть ли лучший способ сделать это, как-то сделать TextField в SwiftUI размером, чтобы вы могли разместить кнопку непосредственно рядом к этому?
Подробнее здесь: https://stackoverflow.com/questions/798 ... t-a-button
Мобильная версия