我遇到了一个问题,我有一个忘记密码选项,我在其中放置了带输入字段的UIAlertView。
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Forgot Password?"
message:@"Please enter your username to retrieve password"
delegate:self
cancelButtonTitle:@"Cancel"
otherButtonTitles:@"Ok", nil];
[alertView setAlertViewStyle:UIAlertViewStylePlainTextInput];
[alertView show];
当应用程序启动时,它工作正常,但当我登录时,做各种事情,退出并按“忘记密码”,我收到此错误,我的应用程序崩溃:
***由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'在将-updateConstraints发送到< _UIKeyboardLayoutAlignmentView:0x7ffef5b37b00后,布局约束仍然需要更新; frame =(0 0; 0 0); userInteractionEnabled = NO; layer =>。 _UIKeyboardLayoutAlignmentView或其中一个超类可能已经重写-updateConstraints而不调用super。或者,在更新它们的过程中,某些东西可能会出现布局限制。两者都是编程错误。'
这是完整的日志:
*** First throw call stack:
(
0 CoreFoundation 0x000000010e850c65 __exceptionPreprocess + 165
1 libobjc.A.dylib 0x000000010e4e9bb7 objc_exception_throw + 45
2 CoreFoundation 0x000000010e850b9d +[NSException raise:format:] + 205
3 UIKit 0x000000010f2c5427 -[UIView(AdditionalLayoutSupport) _internalUpdateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:] + 467
4 UIKit 0x000000010f2c553e -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:] + 124
5 CoreFoundation 0x000000010e757354 CFArrayApplyFunction + 68
6 UIKit 0x000000010f2c52ed -[UIView(AdditionalLayoutSupport) _internalUpdateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:] + 153
7 UIKit 0x000000010f2c553e -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:] + 124
8 CoreFoundation 0x000000010e757354 CFArrayApplyFunction + 68
9 UIKit 0x000000010f2c52ed -[UIView(AdditionalLayoutSupport) _internalUpdateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:] + 153
10 UIKit 0x000000010f2c553e -[UIView(AdditionalLayoutSupport) _updateConstraintsIfNeededAccumulatingViewsNeedingSecondPassAndViewsNeedingBaselineUpdate:] + 124
11 UIKit 0x000000010f2c5a0e __60-[UIView(AdditionalLayoutSupport) updateConstraintsIfNeeded]_block_invoke + 96
12 Foundation 0x000000010e0891be -[NSISEngine withBehaviors:performModifications:] + 155
13 UIKit 0x000000010f2c56d6 -[UIView(AdditionalLayoutSupport) updateConstraintsIfNeeded] + 231
14 UIKit 0x000000010f2b8ebe -[UIWindow(UIConstraintBasedLayout) updateConstraintsIfNeeded] + 91
15 UIKit 0x000000010f2c5dde -[UIView(AdditionalLayoutSupport) _updateConstraintsAtEngineLevelIfNeeded] + 146
16 UIKit 0x000000010ecbd56a -[UIView(Hierarchy) layoutBelowIfNeeded] + 340
17 UIKit 0x000000010f05245e -[_UIAlertControllerAnimatedTransitioning animateTransition:] + 672
18 UIKit 0x000000010ed57a4e __56-[UIPresentationController runTransitionForCurrentState]_block_invoke + 1867
19 UIKit 0x000000010ec6d62c _applyBlockToCFArrayCopiedToStack + 314
20 UIKit 0x000000010ec6d4a6 _afterCACommitHandler + 533
21 CoreFoundation 0x000000010e783ca7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
22 CoreFoundation 0x000000010e783c00 __CFRunLoopDoObservers + 368
23 CoreFoundation 0x000000010e779a33 __CFRunLoopRun + 1123
24 CoreFoundation 0x000000010e779366 CFRunLoopRunSpecific + 470
25 GraphicsServices 0x00000001126c9a3e GSEventRunModal + 161
26 UIKit 0x000000010ec49900 UIApplicationMain + 1282
27 Univet 0x000000010d83150f main + 111
28 libdyld.dylib 0x000000011017a145 start + 1
29 ??? 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
我使用IQKeyboardManager在文本字段之间导航。
请指导,我们将非常感谢您的指导。
提前谢谢。
答案 0 :(得分:1)
在进行简单的Google搜索后,我发现了the answer您的问题。
在iOS 8.3上,如果您正在显示键盘,然后您尝试显示具有输入字段的UIAlertView或UIAlertController,您将会崩溃。