2016-05-11 4 views
0

Nachdem ich die Art und Weise geändert habe, wie TableView die XIB-Datei verwendet, habe ich in der nächsten Ansicht einen Fehler erhalten. Der Fehler sagt "Wird versuchen, durch das Brechen zu erholen", während Sie zur nächsten Ansicht wechseln. Das komische Ding ist, dass ich diesen Fehler nicht bekomme, wenn ich einen Simulator benutze und es nur auf dem echten iPhone vorkommt.Fehlermeldung "Wird versuchen, durch Brechen wiederherzustellen" nicht im Simulator, sondern auf dem iPhone

FirstView.swift

func onMessageBtnClick(sender: UIButton) { 
     if didTransition == false{ 
      didTransition = true 
      self.delegate._selectedProjectId = sender.tag 
      let storyboard = UIStoryboard(name: "Main", bundle: nil) 
      let nextVC = storyboard.instantiateViewControllerWithIdentifier("GroupsViewController") 
      self.navigationController?.pushViewController(nextVC, animated: true) 
     } 
    } 

Und

im Log

Will attempt to recover by breaking constraint 
    NSLayoutConstraint:0x16fbc630 V:[UIView:0x16fcf570(57)] 
    Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger. 
    The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful. 
    2016-05-11 18:22:42.870 APP-NAME[376:30474] Unable to simultaneously satisfy constraints. 
     Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints) 
    (
     "<NSLayoutConstraint:0x1a894b10 V:[UIView:0x1a881d60(57)]>", 
     "<NSLayoutConstraint:0x16f99bc0 UIView:0x1a881d60.top == UITableViewCellContentView:0x16fc2cc0.topMargin + 71>", 
     "<NSLayoutConstraint:0x16f99bf0 UITableViewCellContentView:0x16fc2cc0.bottomMargin == UIView:0x1a881d60.bottom + 13>", 
     "<NSLayoutConstraint:0x1a8999a0 'UIView-Encapsulated-Layout-Height' V:[UITableViewCellContentView:0x16fc2cc0(129.5)]>" 
    ) 

Überprüfen Sie bitte die Einschränkungen unter:

The constraints in AutoLayout

Vielen Dank im Voraus

+1

Es gibt nicht viel, was wir außer Ihnen sagen können: Überprüfen Sie jede Einschränkung erneut. Sie haben wahrscheinlich einige Einstellungen, die auf die Simulatorauflösung angewendet werden, aber auf Ihrem Gerät abbrechen, da es wahrscheinlich eine andere Auflösung hat. Haben Sie versucht, es auf demselben Simulatortyp wie das tatsächliche Gerät auszuführen? – luk2302

+0

Danke für Ihren Kommentar und Vorschlag. Ich habe versucht, es auf dem gleichen Simulatortyp wie das wirkliche tatsächliche Gerät zu laufen, und es funktionierte gut. Ich habe verstanden, ob es in diesem Simulator passiert ist. Vielleicht ist es immer noch ein Problem mit den Einschränkungen, aber ich frage mich, warum es nur passiert, nachdem ich die Art der Erstellung von TableView geändert habe. Es funktionierte gut. –

Antwort

0

Ich hatte das gleiche Problem. Der erste Schritt besteht darin, die Einschränkung oder die Einschränkungen zu identifizieren, die den Konflikt verursachen. Das kann man tun, indem man ihnen Beschriftungen gibt, so dass die Fehlerausgabe etwas lesbarer wird, aber ich finde es normalerweise einfacher, Einschränkungen zu löschen, bis der Fehler verschwindet und dann Rückgängig macht. Sobald Sie die problematische Einschränkung gefunden haben, reduzieren Sie ihre Priorität von 1000 auf 999 und das sollte sie beheben. Dies hat ein paar Mal für mich funktioniert, ändert nicht das Layout und löscht den Fehler.

+0

Danke für deinen Vorschlag. Ich werde es später versuchen und dir sagen, wie es funktioniert hat! –

Verwandte Themen