iOS错误:断言失败

时间:2014-06-13 12:18:36

标签: ios objective-c segue transitions presentviewcontroller

调用presentViewController

时出错

它就好像它会与约束有关,但即使我删除所有约束,它仍然会发生。

导致崩溃的代码行是:[[self sourceViewController] presentViewController:[self destinationViewController] animated:NO completion:nil];

只有当设备是横向设备时,错误才会破裂,但在纵向调用此行时,一切都运行正常。

我得到的错误是:

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

请记住,这是segue类中的最后一行。

编辑:到目前为止,似乎错误可能出现在这一行:源视图控制器中的self.view setTranslatesAutoresizingMaskIntoConstraints:NO];。 但是,出于设计目的,此行对于舍入视图至关重要。关于它的整个代码块在这里:

[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];

1 个答案:

答案 0 :(得分:0)

rdurand概述了导致此错误的代码行。这是[self.view setTranslatesAutoresizingMaskIntoConstraints:NO];

我真的不知道究竟发生了什么,但我将bool参数从NO更改为YES。该应用程序不再崩溃。

非常感谢您的帮助。