Xcode15.2 SwiftUI登录界面TextField约束冲突问题求助
SwiftUI登录界面输入框点击后出现约束冲突错误排查
环境与代码
使用Xcode 15.2及附带的最新版SwiftUI开发登录界面,模拟器为iPhone 15 Pro。界面包含邮箱输入TextField和密码输入SecureField,代码如下:
TextField("Email Address", text: $userData.Email) .frame(width: UIScreen.main.bounds.width - 100) .textFieldStyle(.roundedBorder) .textInputAutocapitalization(.never) .opacity(0.8) SecureField("Password", text: $userData.Password) .frame(width: UIScreen.main.bounds.width - 100) .textFieldStyle(.roundedBorder) .opacity(0.8)
问题现象
模拟器运行时界面显示正常,但点击任一输入框后,调试区输出以下错误:
Error for queryMetaDataSync: 2 Error for queryMetaDataSync: 2 Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. ( "<NSLayoutConstraint:0x6000021735c0 'accessoryView.bottom' _UIRemoteKeyboardPlaceholderView:0x106839040.bottom == _UIKBCompatInputView:0x1068374d0.top (active)>", "<NSLayoutConstraint:0x6000021623f0 'assistantHeight' SystemInputAssistantView.height == 45 (active, names: SystemInputAssistantView:0x10681fc80 )>", "<NSLayoutConstraint:0x6000021731b0 'assistantView.bottom' SystemInputAssistantView.bottom == _UIKBCompatInputView:0x1068374d0.top (active, names: SystemInputAssistantView:0x10681fc80 )>", "<NSLayoutConstraint:0x600002173110 'assistantView.top' V:[_UIRemoteKeyboardPlaceholderView:0x106839040]-(0)-[SystemInputAssistantView] (active, names: SystemInputAssistantView:0x10681fc80 )>" ) Will attempt to recover by breaking constraint <NSLayoutConstraint:0x600002173110 'assistantView.top' V:[_UIRemoteKeyboardPlaceholderView:0x106839040]-(0)-[SystemInputAssistantView] (active, names: SystemInputAssistantView:0x10681fc80 )> Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger. The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
疑问
不清楚错误原因,注意到错误里提到了'remote keyboard',其中SystemInputAssistantView.height == 45的约束找不到设置位置,请问下一步该如何排查?
内容的提问来源于stack exchange,提问作者user2003111
相关产品推荐
相关产品推荐

