gpt4 book ai didi

cocoa - NSView 的 subview 如何动态定位?

转载 作者:行者123 更新时间:2023-11-30 10:15:45 25 4
gpt4 key购买 nike

我试图更改父 NSView 中包含的 NSButton 的坐标,但显然有些东西不起作用,因为按钮位置没有改变。这两个元素都在 nib 文件中定义,并且父 View 使用 CoreAnimation 应用了动画。

我已经尝试过以下方法。

button.frame.origin.x = 500

还有...

var frame:CGRect = button.frame
frame.origin.x = 500
button.frame = frame

即使禁用动画,我似乎也无法动态定位 subview 。是否有某些功能可以阻止以编程方式定位 subview ?

请注意,我使用的是带有 XCode 6.3.1 的 Swift。

最佳答案

鉴于您使用的是最新工具,我猜您正在使用自动布局约束。

如果是这样,直接设置 subview 的框架将无法按照您期望的方式工作(如果它确实做了任何事情,那么与动画混合时会导致奇怪的绘图故障/闪烁)。您必须为布局约束创建 socket 并修改它们。

如果您没有使用 AutoLayout,我建议您查看一下您的 button 导出,以确保它确实已连接(即,您没有与 nil 对话) )。即使 socket 已连接,请确保它在运行时不是nil - 您可能会在加载 Nib 并恢复 socket /操作连接之前尝试与按钮对话。

关于cocoa - NSView 的 subview 如何动态定位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30087128/

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