繁体   English   中英

Xcode约束?

[英]Xcode constraints?

我正在尝试了解和使用Xcode的约束功能。 我可以看到如果有几个视图,它真的很有用,因为您可以指定每个视图如何对齐。

但是,如果您有很多视图,这将成为一项繁琐的任务,尤其是当您开始以编程方式将它们弄乱(例如移动它们)时。 例如下图:

风景

当我扩大和缩小屏幕时,我希望它看起来像这样,但是,事实并非如此。 而且,由于它们一直在相互靠近,因此如果我以编程方式移动一个(例如我正在制作游戏),则另一个会无意间随之移动。

因此,基本上,当在屏幕上显示大量视图对象并在代码中移动它们时,我应该如何处理约束? 任何提示,不胜感激! (是的,我尝试一次为每个单个视图添加/删除约束,首先,这是一个繁琐的任务,其次,它不断为视图添加约束以使它们彼此对齐,而您很少想要在移动它们的游戏中)。

提前谢谢!

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

[self.heightConstraint setConstant:newValue];

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

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

我并不真正了解您的应用程序的细节,但是也许如果您从视图之间如何关联的角度考虑约束,那么移动它们就不会那么困难。

另一个想法是将视图归为一个UIView子类。 也许像RowView这样的东西具有3张图像并处理这些图像的约束。

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

希望这可以帮助! 祝您项目顺利。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM