Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.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
Objective c Xcode约束?_Objective C_Xcode_Constraints - Fatal编程技术网

Objective c Xcode约束?

Objective c Xcode约束?,objective-c,xcode,constraints,Objective C,Xcode,Constraints,我正在尝试理解Xcode的约束特性并使用它。我可以看到,如果您使用了几个视图,那么它将非常有用,因为您可以指定每个视图应该如何对齐 但是,如果您有很多视图,这将成为一项乏味的任务,特别是如果您开始以编程方式处理它们,比如移动它们。例如,下图: 我希望当我扩展和缩小屏幕时它看起来像这样,但是,唉,它没有。此外,由于它们不断对齐以彼此相邻,如果我以编程方式移动其中一个,就像我在制作游戏一样,另一个将无意中随之移动 所以,基本上,当我在屏幕上显示相当多的视图对象并在代码中移动它们时,我到底应该如何处理

我正在尝试理解Xcode的约束特性并使用它。我可以看到,如果您使用了几个视图,那么它将非常有用,因为您可以指定每个视图应该如何对齐

但是,如果您有很多视图,这将成为一项乏味的任务,特别是如果您开始以编程方式处理它们,比如移动它们。例如,下图:

我希望当我扩展和缩小屏幕时它看起来像这样,但是,唉,它没有。此外,由于它们不断对齐以彼此相邻,如果我以编程方式移动其中一个,就像我在制作游戏一样,另一个将无意中随之移动

所以,基本上,当我在屏幕上显示相当多的视图对象并在代码中移动它们时,我到底应该如何处理约束呢?非常感谢任何提示!是的,我尝试过为每个视图一次添加/删除一个约束,首先,这是一项乏味的任务,其次,它不断为视图添加约束以使它们彼此对齐,在移动它们的游戏中,你很少希望这样


提前谢谢

您可以尝试更新约束,而不是一直删除和添加约束。 可以为需要更改的所有约束创建IBOutlet,然后可以通过更改常量值来更新它们

然后,您需要调用[self LayoutIfNeed],可能是在动画块中,以查看更新约束后的更改:

[UIView animateWithDuration:0.5 animations:^{
    [self layoutIfNeeded];
}];
我真的不知道您的应用程序的细节,但是如果您从视图如何相互关联的角度来考虑约束,那么移动它们可能不会那么困难

另一个想法是将视图分组到一个UIView子类中。可能类似于RowView的东西,它有3个图像,并且只处理这些图像的约束

我的意思是像分而治之,不是在一个视图中处理所有约束,而是以一种对应用程序有意义的方式将它们组合在一起

希望这有帮助!祝你的项目好运

[UIView animateWithDuration:0.5 animations:^{
    [self layoutIfNeeded];
}];