2014-06-13 4 views
0

Je reçois une erreur lorsque vous appelez presentViewControllererreur iOS: échec Assertion

Il agit comme si elle aurait quelque chose à voir avec des contraintes mais même lorsque je retire tout, il se produit encore.

La ligne de code qui provoque l'accident est: [[self sourceViewController] presentViewController:[self destinationViewController] animated:NO completion:nil];

uniquement si l'appareil est paysage, l'erreur a éclaté, mais tout en appelant cette ligne en mode portrait, tout fonctionne bien.

L'erreur que je reçois est:

*** Assertion failure in -[UIView _edgeExpressionInContainer:vertical:max:], /SourceCache/UIKit/UIKit-2935.137/NSLayoutConstraint_UIKitAdditions.m:2815 

Gardez à l'esprit que c'est une dernière ligne dans une classe de Segue.

Éditer: jusqu'à présent, il semble que l'erreur pourrait être dans cette ligne: self.view setTranslatesAutoresizingMaskIntoConstraints:NO]; dans le contrôleur de vue de la source. Cependant, cette ligne est cruciale pour arrondir une vue, à des fins de conception. Le bloc entier de code concernant cela est ici:

[refreshNotes setAutoresizingMask:(UIViewAutoresizingFlexibleRightMargin|UIViewAutoresizingFlexibleLeftMargin)]; 
    [[refreshNotes.subviews objectAtIndex:0] setFrame:CGRectMake(refreshNotes.bounds.origin.x, 17, refreshNotes.bounds.size.width, refreshNotes.bounds.size.height)]; 
    [[refreshNotes.subviews objectAtIndex:0] setTintColor:[UIColor colorWithRed:95.0/255.0 green:49.0/255.0 blue:187.0/255.0 alpha:1]]; // lighter purple so it doesn't appear black 

    [self.view setTranslatesAutoresizingMaskIntoConstraints:NO]; 
+0

Généralement, un échec d'assertion est accompagné d'un texte supplémentaire décrivant la cause. Y avait-il un tel texte additionnel dans ce cas? –

+1

Si vous regardez @kuchumovn réponse [ici] (http://stackoverflow.com/questions/15139909/auto-layout-screen-rotation-and-uiview-animation), qui est une solution au même problème que le vôtre, comme réponse à une question légèrement différente, il dit que, ayant * [self.view setTranslatesAutoresizingMaskIntoConstraints: NO]; * dans sa destination, VC détruit la section. – rdurand

+0

Hot Licks: Non. C'est la seule chose que je reçois (en plus de 'lldb') rdurand: J'ai cette ligne dans mon contrôleur de source, mais il est nécessaire pour certains designs. Je posterai tout le bloc de code dans la réponse. – Sam

Répondre

0

rdurand a souligné la ligne de code qui conduisait à cette erreur. Je n'ai pas vraiment su ce qui s'est exactement passé, mais j'ai changé le paramètre bool de NON à OUI. L'application ne plante plus.

Merci beaucoup pour votre aide.

Questions connexes