Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/112.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 将TranslatesAutoResizengMaskinToConstraints设置为NO后出现黑屏_Ios_Cocoa Touch_Nslayoutconstraint - Fatal编程技术网

Ios 将TranslatesAutoResizengMaskinToConstraints设置为NO后出现黑屏

Ios 将TranslatesAutoResizengMaskinToConstraints设置为NO后出现黑屏,ios,cocoa-touch,nslayoutconstraint,Ios,Cocoa Touch,Nslayoutconstraint,我有一个带标签的滚动视图。要将标签居中放置在顶部中心,我将对其应用两个约束: [self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-30-[questionLabel]" options:0

我有一个带标签的滚动视图。要将标签居中放置在顶部中心,我将对其应用两个约束:

[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-30-[questionLabel]"
                                                             options:0
                                                             metrics:0
                                                               views:viewsDictionary]];
[self addConstraint:[NSLayoutConstraint constraintWithItem:self.questionLabel
                                                 attribute:NSLayoutAttributeCenterX
                                                 relatedBy:NSLayoutRelationEqual
                                                    toItem:self
                                                 attribute:NSLayoutAttributeCenterX
                                                multiplier:1.0
                                                  constant:.0]];
如果不将translatesAutoresizingMaskIntoConstraints for questionLabel设置为NO,我将遇到Core Layout引发的异常。它警告我它无法满足以下约束:

(
"<NSLayoutConstraint:0x8e3baf0 V:|-(30)-[UILabel:0xa184ca0]   (Names: '|':WLQuestionnaireSingleQuestionView:0xa184050 )>",
"<NSAutoresizingMaskLayoutConstraint:0x8e3efa0 h=--& v=--& UILabel:0xa184ca0.midY == + 15>"
(
"",
""
)

在这里,我看到核心布局试图满足一个约束,该约束已自动生成,与自动调整大小掩码向后兼容。据我所知,解决方法应该是将translatesAutoresizingMaskIntoConstraints设置为NO,但不幸的是,这会导致完全黑屏,没有调试消息


我以编程方式实现了视图,没有NIB。

好吧,我看到这个问题已经很老了。然而,我想给出一个答案,因为它可能对其他人来说仍然是有趣的。当您将
UIScrollView
与AutoLayout一起使用时,内容大小由约束决定。由于从视图到底部没有约束,因此无法正确设置高度。宽度也是一样,因为您没有为视图指定任何宽度。您刚刚告诉AutoLayout它应该位于视图的中心。您的问题可以使用以下代码解决(视图宽度=40):


我在与同样的行为作斗争。你找到解决办法了吗?我也遇到同样的问题。对不起,时间太久了,我再也无法访问源代码了。我相信对于我的问题有一个非常具体的解决方案(可能一开始就避免了这个问题),但我不能说我现在就有这个具体问题的解决方案。你有一个示例项目吗?您是否尝试更改标签背景颜色以查看其位置?你的屏幕黑得怎么样?根视图的背景色是什么?
[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-(30)-[questionLabel]|"
                                                         options:0
                                                         metrics:0
                                                           views:viewsDictionary]];
[self addConstraint:[NSLayoutConstraint constraintWithItem:self.questionLabel
                                                 attribute:NSLayoutAttributeCenterX
                                                 relatedBy:NSLayoutRelationEqual
                                                    toItem:self
                                                 attribute:NSLayoutAttributeCenterX
                                                multiplier:1.0
                                                  constant:.0]];
[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"[questionLabel(40)]", options: 0, metrics: 0, views: viewsDictionary]];