SwiftUI 冻结设备
Posted
技术标签:
【中文标题】SwiftUI 冻结设备【英文标题】:SwiftUI Freeze device 【发布时间】:2019-12-03 08:58:28 【问题描述】:我有一个 List
和 NavigationLink
在 NavigationView
和一个 Button
用于显示模式。
当我显示细节时没有问题,但如果我打开模式并显示细节不起作用。 我的设备 (iPhone XS) 因 CPU 100% 而死机。
代码模态:
import SwiftUI
import Combine
struct RoomFormView: View
@ObservedObject var viewModel : RoomFormViewModel
@Binding var show : Bool
var body: some View
NavigationView
VStack(alignment: .leading, spacing: 5)
Text("Nom de la pièce")
TextField("Nom", text: self.$viewModel.name)
HelperView.closeKeyboard()
Spacer().frame(width: nil, height: 15, alignment: .center)
Text("Etage")
TextField("Etage", text: self.$viewModel.floor)
HelperView.closeKeyboard()
Spacer()
.padding(22)
.navigationBarItems(leading: Button(action:
self.show = false
)
Text("Annuler")
, trailing: Button(action:
HelperView.closeKeyboard()
self.viewModel.validate()
self.show = false
, label:
Text("Valider")
)).navigationBarTitle("Ajouter une pièce")
【问题讨论】:
如果您向我们展示 ListRoomViewModel,我们可以尝试重现......所以我们可以猜测...... 我认为问题在于更复杂的视图。当我打开和关闭工作表时,所有列表都会刷新。 你也没有向我们展示 RoomFormView 的代码......所以......你的问题还不够好......也许你应该阅读这个。 ***.com/help/how-to-ask 【参考方案1】:错误在于.navigationBarTitle("Ajouter une pièce")
应用程序冻结带有重音 é 或 è
当我删除重音时没问题。真正的解决方案是使用Text("Ajouter une pièce")
最终代码:.navigationBarTitle(Text("Ajouter une pièce"))
【讨论】:
以上是关于SwiftUI 冻结设备的主要内容,如果未能解决你的问题,请参考以下文章