NSLayout约束常量不是有限的!这是非法的。常量:INF



在iOS更新版本10.3.3之后,某些设备中出现了一个错误,而不是全部。

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'NSLayoutConstraint constant is not finite!  That's illegal.  constant:inf firstAnchor:<NSLayoutXAxisAnchor:0x608000679c80 "_UINavigationBarContentView:0x7fce8d57aee0.right"> secondAnchor:<NSLayoutXAxisAnchor:0x608000679d00 "UILayoutGuide:0x6080001be680'UIViewLayoutMarginsGuide'.right">'
*** First throw call stack:
(
0   CoreFoundation                      0x0000000110e3126b __exceptionPreprocess + 171
1   libobjc.A.dylib                     0x0000000114a67f41 objc_exception_throw + 48
2   CoreFoundation                      0x0000000110e36402 +[NSException raise:format:arguments:] + 98
3   Foundation                          0x0000000111a5b749 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 193
4   Foundation                          0x00000001119df92c -[NSLayoutConstraint _setSymbolicConstant:constant:] + 629
5   Foundation                          0x00000001119df689 -[NSLayoutConstraint setConstant:] + 68
6   UIKit                               0x0000000112a6dc52 -[UIView _updateLayoutMarginsGuideConstraintsIfNecessary] + 358
7   UIKit                               0x0000000112a6de5e -[UIView _layoutMarginsDidChangeFromOldMargins:] + 194
8   UIKit                               0x0000000112a6e849 -[UIView _updateInferredLayoutMarginsFromSuperview:] + 850
9   UIKit                               0x0000000112a6fc03 -[UIView setSafeAreaInsets:] + 446
10  UIKit                               0x0000000112a6f2a5 -[UIView _updateSafeAreaInsets] + 125
11  UIKit                               0x0000000112a9c30e -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 1571
12  UIKit                               0x0000000112adc343 -[UINavigationBar layoutSublayersOfLayer:] + 178
13  QuartzCore                          0x000000011264cc92 -[CALayer layoutSublayers] + 153
14  QuartzCore                          0x0000000112650d79 _ZN2CA5Layer16layout_if_neededEPNS_11TransactionE + 401
15  QuartzCore                          0x00000001125d9851 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 385
16  QuartzCore                          0x00000001126051c2 _ZN2CA11Transaction6commitEv + 500
17  QuartzCore                          0x0000000112605f14 _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv + 76
18  CoreFoundation                      0x0000000110dd3e57 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
19  CoreFoundation                      0x0000000110dd3dae __CFRunLoopDoObservers + 430
20  CoreFoundation                      0x0000000110db83c4 __CFRunLoopRun + 1572
21  CoreFoundation                      0x0000000110db7b29 CFRunLoopRunSpecific + 409
22  GraphicsServices                    0x000000011a8dd9c6 GSEventRunModal + 62
23  UIKit                               0x00000001129ce9a4 UIApplicationMain + 159
24  APP NAME                            0x000000010f8c1847 main + 55
25  libdyld.dylib                       0x0000000117f8d621 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException

有趣的是,此错误对所有设备都没有任何意义。我的设备(iOS 10.3.3(没有错误

所以我尝试在Xcode 9 beta 5,iOS 11 beta 5中运行此应用程序以出现一些错误并出现此断言失败。我认为对导航栏项存在疑问。

请帮忙。

就我而言,当尝试获取UITextField.firstRect((时,我获得了有效UITextRange的"无限"源。这导致约束更新失败。

我建议获取 Xcode 9 并在那里调试您的代码。

最新更新