【发布时间】:2020-01-31 02:26:11
【问题描述】:
在 SwiftUI 中为 TextField 指定 minimumScaleFactor 时,TextField 会在您输入文本时正常运行,并在内容不适合 TextView 时减小指定的字体。但是,如果您开始删除字符,一切都会照常进行,直到您删除第一个字符。一切都冻结了。
一开始我认为这是我处理存储文本的变量的方式,在我的应用程序中我将它作为 ObservedObject。但是,在调试冻结的应用程序后,我注意到代码在 TextField 的绘图周围一遍又一遍地循环,一个又一个的函数都指向屏幕上对象绘图的错误。
以下代码说明了这个问题。当您输入字符并删除它们直到您到达第一个字符时,TextField 可以完美运行。它冻结了。
import SwiftUI
struct ContentView: View {
@State var sensorNumber: String = ""
var body: some View {
TextField("WC0.000.000.000", text: $sensorNumber)
.padding(.all, 5.0)
.font(Font.custom("Helvetica", size:40.0))
.minimumScaleFactor(0.90)
}
}
【问题讨论】:
标签: swiftui