gpt4 book ai didi

ios - SwiftUI TextField 最大长度

转载 作者:行者123 更新时间:2023-11-29 05:40:53 25 4
gpt4 key购买 nike

是否可以设置 TextField 的最大长度?我正在考虑使用 onEditingChanged 事件来处理它,但它仅在用户开始/完成编辑时调用,而在用户键入时不会调用。我也阅读了文档,但还没有找到任何东西。有什么解决办法吗?

TextField($text, placeholder: Text("Username"), onEditingChanged: { _ in
print(self.$text)
}) {
print("Finished editing")
}

最佳答案

您可以使用Combine 以简单的方式完成此操作。

像这样:

import SwiftUI
import Combine

struct ContentView: View {

@State var username = ""

let textLimit = 10 //Your limit

var body: some View {
//Your TextField
TextField("Username", text: $username)
.onReceive(Just(username)) { _ in limitText(textLimit) }
}

//Function to keep text length in limits
func limitText(_ upper: Int) {
if username.count > upper {
username = String(username.prefix(upper))
}
}
}

关于ios - SwiftUI TextField 最大长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56567572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com