Swift.TextFields总是显示布局约束错误[重复]。TextFields总是显示布局约束错误[重复] 。

问题描述 投票:0回答:2

我正在创建一个 iPad应用 的UIView,其中有两个 UITextFields 中。每当我运行我的应用程序,我点击其中的一个 UITextFields 然后在另一个(顺序并不重要),它总是抛出一个错误,说它必须打破一个约束。 我甚至把两个全新的 UITextFields 在没有任何约束的情况下,在UIView上运行,但它仍然显示出该错误。

[LayoutConstraints] Unable to simultaneously satisfy constraints.
(
    "<NSLayoutConstraint:0x600003db4c80 'assistantHeight' TUISystemInputAssistantView:0x7fdc1f423400.height == 55   (active)>",
    "<NSLayoutConstraint:0x600003dae940 'assistantView.bottom' TUISystemInputAssistantView:0x7fdc1f423400.bottom == _UIKBCompatInputView:0x7fdc1f21bb20.top   (active)>",
    "<NSLayoutConstraint:0x600003dae8f0 'assistantView.top' V:|-(0)-[TUISystemInputAssistantView:0x7fdc1f423400]   (active, names: '|':UIInputSetHostView:0x7fdc1f432480 )>",
    "<NSLayoutConstraint:0x600003da4d70 'inputView.top' V:|-(0)-[_UIKBCompatInputView:0x7fdc1f21bb20]   (active, names: '|':UIInputSetHostView:0x7fdc1f432480 )>"
)

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x600003dae940 'assistantView.bottom' TUISystemInputAssistantView:0x7fdc1f423400.bottom == _UIKBCompatInputView:0x7fdc1f21bb20.top   (active)>

我甚至尝试了符号断点(symbolic-breakpoint-thing),在那里你会得到一个更详细的报告,但我找不到任何线索,这里有什么问题。

UIWindow:0x7fa39f3092a0
|   UITransitionView:0x7fa39f20f360
|   |   UIDropShadowView:0x7fa39f20fa40
|   |   |   UIView:0x7fa39f20f880
|   |   |   |   •UIView:0x7fa39f20b690
|   |   |   |   |   *<UILayoutGuide: 0x6000010e47e0 - "UIViewSafeAreaLayoutGuide", layoutFrame = {{0, 24}, {834, 1088}}, owningView = <UIView: 0x7fa39f20b690; frame = (0 0; 834 1112); autoresize = W+H; layer = <CALayer: 0x600002914fa0>>>
|   |   |   |   |   *UILabel:0x7fa39f20c590'Patient:'
|   |   |   |   |   *UITextField:0x7fa3a1025c00
|   |   |   |   |   |   _UITextFieldRoundedRectBackgroundViewNeue:0x7fa39f20ba90
|   |   |   |   |   |   *_UIBaselineLayoutStrut:0x7fa3a190a320
|   |   |   |   |   |   _UITextFieldCanvasView:0x7fa39f20b340
|   |   |   |   |   *UITextField:0x7fa39f83be00
|   |   |   |   |   |   _UITextFieldRoundedRectBackgroundViewNeue:0x7fa39f20b140
|   |   |   |   |   |   *_UIBaselineLayoutStrut:0x7fa3a1909cb0
|   |   |   |   |   |   UIFieldEditor:0x7fa3a2815000
|   |   |   |   |   |   |   _UITextFieldCanvasView:0x7fa39f20c1f0
|   |   |   |   |   |   |   |   UITextSelectionView:0x7fa39e40a100
|   |   |   |   |   *UIButton:0x7fa39f708b60'Start'
|   |   |   |   |   |   UIButtonLabel:0x7fa3a19063d0'Start'
|   |   |   |   |   *UILabel:0x7fa39f20d200'Sitzung:'
|   |   |   |   |   *UILabel:0x7fa39f709de0'Felder dürfen nicht leer ...'
|   |   |   |   |   *UIButton:0x7fa39f20d480'Daten'
|   |   |   |   |   |   UIButtonLabel:0x7fa3a1909300'Daten'

有什么是我遗漏的吗? 或者有什么方法可以解决这个错误? 在我的项目中,我的其他TextFields也有同样的问题,我尝试了所有的方法,从将TextFields放入一个新的视图或添加removing约束。

ios swift xcode ios-autolayout
2个回答
1
投票

问题是你还分配了一个高度约束,所以你可以删除高度约束或底部约束。否则有另一个解决方案,你可以设置高度约束不是 "等于 "而是 "大于",以确保文本字段永远不会与下面的视图重叠。


0
投票

布局约束错误信息与您的布局无关。

这是输入助理视图的一个内部问题(可视为一个错误) - 键盘上方显示的自动完成选项。

© www.soinside.com 2019 - 2024. All rights reserved.