2016-12-29 14 views
1

まず、入力文字を制限し、数字とアルファのみを含めます。 コントローラが横向きに回転すると、「*」などの特殊記号を入力します。 その後、私は赤いフレームのボタン、App Crashをクリックします!iOS UITextFiled風景時のクラッシュ

enter image description here

Exception Type: EXC_CRASH (SIGABRT) 
Exception Codes: 0x0000000000000000, 0x0000000000000000 
Exception Note: EXC_CORPSE_NOTIFY 
Triggered by Thread: 0 

Last Exception Backtrace: 
0 CoreFoundation     0x181c5a1c0 __exceptionPreprocess + 124 (NSException.m:165) 
1 libobjc.A.dylib     0x18069455c objc_exception_throw + 56 (objc-exception.mm:521) 
2 CoreFoundation     0x181c61278 -[NSObject(NSObject) doesNotRecognizeSelector:] + 140 (NSObject.m:328) 
3 CoreFoundation     0x181c5e278 ___forwarding___ + 916 (NSForwarding.m:3120) 
4 CoreFoundation     0x181b5859c _CF_forwarding_prep_0 + 92 
5 UIKit       0x187bd0248 -[UIKeyboardImpl shouldShowCandidateBar] + 164 (UIKeyboardImpl.m:4261) 
6 UIKit       0x187ae0194 -[UIKeyboardImpl updateTextCandidateView] + 508 (UIKeyboardImpl.m:8597) 
7 UIKit       0x187adf498 -[UIKeyboardImpl clearInput] + 156 (UIKeyboardImpl.m:7663) 
8 UIKit       0x187af6028 -[UIKeyboardImpl updateForChangedSelectionWithExecutionContext:] + 280 (UIKeyboardImpl.m:4782) 
9 UIKit       0x187adf26c -[UIKeyboardTaskQueue continueExecutionOnMainThread] + 384 (UIKeyboardTaskQueue.m:290) 
10 UIKit       0x188531c74 -[UIKeyboardTaskQueue addAndReturnTask:] + 132 (UIKeyboardTaskQueue.m:410) 
11 UIKit       0x188531ee4 -[UIKeyboardTaskQueue performSingleTask:] + 248 (UIKeyboardTaskQueue.m:484) 
12 UIKit       0x187c67120 -[UIKeyboardImpl updateForChangedSelection] + 92 (UIKeyboardImpl.m:4753) 
13 UIKit       0x187af495c -[UIKeyboardImpl selectionDidChange:] + 112 (UIKeyboardImpl.m:4867) 
14 UIKit       0x187af4404 __52-[UITextInputController _coordinateSelectionChange:]_block_invoke + 152 (UITextInputController.m:653) 
15 UIFoundation     0x187a2fd74 -[NSTextStorage coordinateReading:] + 56 (NSTextStorage.m:383) 
16 UIKit       0x187af4338 -[UITextInputController _coordinateSelectionChange:] + 156 (UITextInputController.m:639) 
17 UIKit       0x187cea998 -[UITextInputController selectAll] + 80 (UITextInputController.m:2774) 
18 UIKit       0x187cea89c -[UITextInputController clearText] + 48 (UITextInputController.m:2331) 
19 UIKit       0x187cea740 -[UITextField _clearButtonClicked:] + 376 (UITextField.m:5734) 
20 UIKit       0x187aea484 -[UIApplication sendAction:to:from:forEvent:] + 96 (UIApplication.m:4582) 
21 UIKit       0x187aea404 -[UIControl sendAction:to:forEvent:] + 80 (UIControl.m:609) 
22 UIKit       0x187ad48b8 -[UIControl _sendActionsForEvents:withEvent:] + 452 (UIControl.m:694) 
23 UIKit       0x187ae9cf0 -[UIControl touchesEnded:withEvent:] + 584 (UIControl.m:446) 
24 UIKit       0x187ae9818 -[UIWindow _sendTouchesForEvent:] + 2484 (UIWindow.m:2120) 
25 UIKit       0x187ae4a60 -[UIWindow sendEvent:] + 2988 (UIWindow.m:2290) 
26 UIKit       0x187ab552c -[UIApplication sendEvent:] + 340 (UIApplication.m:10719) 
27 UIKit       0x1882a2a54 __dispatchPreprocessedEventFromEventQueue + 2736 (UIEventDispatcher.m:1426) 
28 UIKit       0x18829c4bc __handleEventQueue + 784 (UIEventDispatcher.m:1622) 
29 CoreFoundation     0x181c08278 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24 (CFRunLoop.c:1943) 
30 CoreFoundation     0x181c07bc0 __CFRunLoopDoSources0 + 524 (CFRunLoop.c:1989) 
31 CoreFoundation     0x181c057c0 __CFRunLoopRun + 804 (CFRunLoop.c:2821) 
32 CoreFoundation     0x181b34048 CFRunLoopRunSpecific + 444 (CFRunLoop.c:3113) 
33 GraphicsServices    0x1835ba198 GSEventRunModal + 180 (GSEvent.c:2245) 
34 UIKit       0x187b202fc -[UIApplication _run] + 684 (UIApplication.m:2649) 
35 UIKit       0x187b1b034 UIApplicationMain + 208 (UIApplication.m:4091) 
36 LCIphoneAdhocIP     0x1002e5acc main + 88 (main.m:17) 
37 libdyld.dylib     0x180b185b8 start + 4 
+0

を好みます。 – Joshua

答えて

0

CoreFoundationの0x181c61278 - [NSObjectの(NSObjectの) doesNotRecognizeSelector:] + 140(NSObject.m:328)

あなたは、いくつかの "*" テキストフィールドへの寄付Returnキーを押したときに返される値は、数値でもアルファでもありません。

@selectorは認識できません。したがって、ユーザーのキーボードタイプを変更すると、間違った記号を入力することはできません。

私は、それが実際にクラッシュする場所にあなたを指していますので、あなたはゾンビを有効にすることができ

[textField1.keyboardType = UIKeyboardTypeAlphabet]; 
+0

私はUIKeyboardTypeAlphabet型を使用しました。 – tomatobin

+0

デリゲートを使用して入力を制限する – tomatobin

+0

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string – tomatobin

関連する問題