2016-11-24 3 views
-3

Es gibt drei textFields in der Ansicht, wie unten in der Abbildung dargestellt:app Absturz wegen [UITextField ResignFirstResponder]

enter image description here

, wenn ich eine dieser Textfelder klicken, ein textField kann becomeFirstResponder, dann die Tastatur erschien.nicht abstürzen. Wenn ich auf "Fertig" klicke oder eines der Textfelder resignFirstResponder anklicke, wird die Tastatur verschwinden. Aber wenn die Tastatur verschwunden ist, stürzt meine App ab.

Fehler:

iOS 8: [UICompatibilityInputViewController isKindOfClass:]: message sent to deallocated instance 0x7fd6b6074dd0

iOS 9: [UIInputWindowController parentViewController]: message sent to deallocated instance 0x7fde7c004400

iOS 10: [UICompatibilityInputViewController retain]...

+4

In den zugehörigen Code bitte – Jens

+0

Wir wissen nicht, was UICompatibilityInputViewController und UIInputWindowController sind. Sind sie essbar? –

+0

Überprüfen Sie Ihre textFieldShouldReturn (_ :) -Methode, die einige Aktionen ausführt. – Sommm

Antwort

0

Verwendung dieser Code:

and also set the delegates of the text fields 

- (BOOL)textFieldShouldReturn:(UITextField *)theTextField { 
if (theTextField == yourTextFieldOne) { 
    [theTextField becomeFirstResponder]; 
} else if (theTextField == yourTextFieldTwo) { 
    [self.textPassword becomeFirstResponder]; 
}else if (theTextField == yourTextFieldThree) { 
    [theTextField resignFirstResponder]; 
} 
return YES; 
} 
+0

danke, ich werde es versuchen. Ich habe den 'IQKeyboardManager' Framework benutzt, ist das egal? –

+0

Ich habe es versucht, nicht gelöst, danke die ganze Zeit. –

+0

Es wird funktionieren dnt sorgen :) –

0
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    [self setupBackBtn]; 
    // 初始化导航条 
    [self setupNav]; 
    //点击空白 收回键盘 
    UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(keyboardHide:)]; 
    tapGestureRecognizer.cancelsTouchesInView = NO; 
    [self.view addGestureRecognizer:tapGestureRecognizer]; 
    _confirmBtn.layer.cornerRadius = 5.f; 
} 
+0

Entfernen Sie die Tap-Geste-Methode und verwenden Sie meinen Code sir. Vielleicht hilft es dir sehr. –

+0

Ich habe die Tipp-Gesten-Methode entfernt und den Code verwendet. Aber es funktioniert nicht.Meine App stürzt immer noch ab. Ich finde ein regelmäßiges Muster, dass, wenn meine Ansicht Textfeld benötigt, und die Tastatur erschien, wenn die Tastatur verschwunden ist, wird meine App abstürzen.Alle die Ansicht, die das Textfeld haben.oh mein Gott. Der Fehler ist derselbe.sir. –

0
// 设置导航条 
- (void)setupNav { 
    UILabel *titleLabel = [[UILabel alloc] init]; 
    titleLabel.text = @"忘记密码"; 
    titleLabel.textColor = HexColor(0x795033); 
    // titleLabel.font = HNLightFont(20.0); 
    titleLabel.font = [UIFont systemFontOfSize:20.0]; 
    [titleLabel sizeToFit]; 
    self.navigationItem.titleView = titleLabel; 

    // 这2句代码起到向下偏移64的作用 
    self.edgesForExtendedLayout = UIRectEdgeNone; 
    self.automaticallyAdjustsScrollViewInsets = NO; 
} 
Verwandte Themen