在Swift UI中,我可以使用什么来代替文本视图?

在Swift UI中,我可以使用什么来代替文本视图?,swift,swiftui,swift5,swift5.1,swift5.2,Swift,Swiftui,Swift5,Swift5.1,Swift5.2,我希望有一个最大字符数限制的可编辑文本字段,就像推特一样,但我没有在SwiftUI中找到解决方案。有人找到解决这个问题的办法了吗 您需要的是,必须使用数据模型来限制中所述的最大字符数。我找到了您问题的答案 此解决方案不使用EnvironmentObject 请检查这一页。 这是我的示例代码 import SwiftUI import Combine struct ContentView: View { @ObservedObject private var restrictInput

我希望有一个最大字符数限制的可编辑文本字段,就像推特一样,但我没有在SwiftUI中找到解决方案。有人找到解决这个问题的办法了吗

您需要的是,必须使用数据模型来限制中所述的最大字符数。

我找到了您问题的答案

此解决方案不使用EnvironmentObject

请检查这一页。

这是我的示例代码

import SwiftUI
import Combine
struct ContentView: View {
    @ObservedObject private var restrictInput = RestrictInput(5)
    var body: some View {
        Form {
            TextField("input text", text: $restrictInput.text)
        }
    }
}

// https://stackoverflow.com/questions/57922766/how-to-use-combine-on-a-swiftui-view
class RestrictInput: ObservableObject {
    @Published var text = ""
    private var canc: AnyCancellable!
    init (_ maxLength: Int) {
        canc = $text
            .debounce(for: 0.5, scheduler: DispatchQueue.main)
            .map { String($0.prefix(maxLength)) }
            .assign(to: \.text, on: self)
    }
    deinit {
        canc.cancel()
    }
}

嗨,埃里姆,欢迎来到SO。你的问题需要是关于你的项目的一个特定部分。不仅仅是一次普通的捕鱼远征。