Имитирование поведения iMessage с помощью TextEditor для ввода текстаIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Имитирование поведения iMessage с помощью TextEditor для ввода текста

Сообщение Anonymous »

Мой первый вопрос здесь, в Stack Overflow.
Я пишу небольшое приложение для iOS и macOS. Ввод текста осуществляется с помощью (сейчас) TextField и кнопки. Проблема с TextField заключается в том, что оно представляет собой одну строку и не позволяет вводить многострочный текст. Итак, я попробовал вместо этого использовать TextEditor, но я могу либо настроить его так, чтобы он не увеличивался при добавлении большего количества текста, либо с самого начала он отображался очень большим.
Я говорю, что в идеале , оно будет имитировать поведение текстовой записи в iMessage: начинается с того же размера, что и TextField, но при необходимости увеличивается для размещения многострочного текста, такого как TextEditor.
Вот код, который я использую для этого представления:

Код: Выделить всё

var inputView: some View {
HStack {
ZStack {
//tried this here...
//TextEditor(text: $taskText)
TextField("New entry...", text: $taskText, onCommit: { didTapAddTask() })
.frame(maxHeight: 35)
.padding(EdgeInsets(top: 0, leading: 12, bottom: 0, trailing: 0))
.clipped()
.accentColor(.black)
.cornerRadius(8)
.textFieldStyle(RoundedBorderTextFieldStyle())
Text(taskText).opacity(0).padding(.all, 8)
}

Button(action: AddNewEntry, label: { Image(systemName: "plus.circle")
.imageScale(.large)
.foregroundColor(.primary)
.font(.title) }).padding(15).foregroundColor(.primary)
}
}
Как это сделать?
Я пробовал разные подходы, найденные в разных вопросах других пользователей, но не могу понять.
Вот как это выглядит:
Как выглядит TextEdit
Я также пробовал что-то подобное и играл с разными значениями для .frame :

Код: Выделить всё

        TextEditor(text: $taskText)
.frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: 200)
.border(Color.primary, width: 1)
.padding(EdgeInsets(top: 0, leading: 12, bottom: 0, trailing: 0))
Любая помощь приветствуется.
Спасибо.
О, и я использую Xcode 12.5. 1, а целью на данный момент являются iOS 14.x и macOS Big Sur.
ИЗМЕНИТЬ, чтобы ответить на jnpdx.
Когда я добавляю код из Dynamic TextEditor, перекрывающийся с другими представлениями, вот как выглядит и не меняется динамически.
Как это выглядит при запуске приложения
Как оно выглядит при вводе текста

Подробнее здесь: https://stackoverflow.com/questions/685 ... text-entry
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как выполнить приведение из IObserver в IObserver
    Anonymous » » в форуме C#
    0 Ответы
    80 Просмотры
    Последнее сообщение Anonymous
  • Имитирование ввода WAVEHDR для потоковой передачи спектрограммы из файла
    Anonymous » » в форуме C++
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Имитирование ввода WAVEHDR для потоковой передачи спектрограммы из файла
    Anonymous » » в форуме C++
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Имитирование ввода WAVEHDR для потоковой передачи спектрограммы из файла
    Anonymous » » в форуме C++
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Swiftui Texteditor Inside Scrollview скрыт клавиатурой при вводе длинного текста
    Anonymous » » в форуме IOS
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous

Вернуться в «IOS»