gpt4 book ai didi

objective-c - 调整受约束设计的 View 的大小

转载 作者:行者123 更新时间:2023-12-03 17:40:39 24 4
gpt4 key购买 nike

我有一个 NSView xib,其中包含一个 NSTextField 和一个自定义 NSView。我使用了约束,以便当父 View 调整大小时, subview 也会调整大小。到目前为止,一切都很好。在命令期间,用户可以显示第三个子对象,这意味着我需要将其他两个 View 向下洗牌以适应它。这在我的动画过程中工作得很好(我正在使用 NSAnimationContext ) ,但是在调整 View 大小的那一刻,子级都会根据约束恢复到其位置,忽略我更改了 frame.origin.yframe.size 的事实.height 值。

如何设计一个允许使用约束的用户界面,但同时允许我以编程方式调整 UI 元素的相对位置?

最佳答案

如果您对 subview 使用约束,那么您就是在将这些 View 的位置和大小委托(delegate)给运行时。如果您尝试以编程方式更改这些值,您可能会期望事情会崩溃。

因此,您需要做的是更改约束,而不是更改这些值。

更改约束以匹配您添加的新 View 后,若要动画显示到新位置,请执行以下操作:

[UIView animateWithDuration:duration animations:^{[containingView layoutIfNeeded];}];

关于objective-c - 调整受约束设计的 View 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16834921/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com