0

打电话时出现错误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];
4

1 回答 1

0

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

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

非常感谢您的帮助。

于 2014-06-13T12:42:23.723 回答