gpt4 book ai didi

objective-c - 如何在cocoa(Interface Builder)中绑定(bind)CGSize.width?

转载 作者:行者123 更新时间:2023-12-03 17:52:55 25 4
gpt4 key购买 nike

我尝试使用界面生成器绑定(bind) Cocoa 应用程序的 CGSize 属性的宽度值。

我将“模型关键路径”设置为“windowSize”(我的 CGSize 值),并在“值转换器字段”中尝试了不同的值,例如“宽度”或“%{width}@”,但是当我运行应用程序时,它崩溃并出现此错误“找不到名称为 {width}@ 的值转换器”

我应该使用哪种变压器?

最佳答案

您需要在您的某些对象中创建自定义访问器,例如窗口 Controller (必须是 NSWindowController 的自定义子类)并绑定(bind)到这些对象。

在每个访问器中,获取窗口的framecontentSize,然后检索或更改其相关成员。然后,在 setter 中,将调整后的框架或尺寸设置回原来的位置;在 getter 中,您返回提取的数字。

直接绑定(bind)到 CGSize 值的宽度高度,或者原点尺寸(的任何部分) 的矩形,由于 CodaFi 描述的原因而不起作用:您只能绑定(bind)到对象的属性,并且大小和矩形(和点)不是对象。

虽然两者使用相同的“点语法”(foo.bar),但访问结构体成员(例如 width NSSize 或 CGSize)并访问对象的属性(例如 NSWindow 的 contentSize)。您可以绑定(bind)到对象的属性;您不能绑定(bind)到结构的成员。

关于objective-c - 如何在cocoa(Interface Builder)中绑定(bind)CGSize.width?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20568254/

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