NSPredicateEditor 只是不会出现
我遇到了一个非常奇怪的问题。我正在尝试使用 IB 将 NSPredicateEditor 放入我的界面中,当我构建应用程序时,它仅显示为空的灰色矩形。我没有对默认值进行任何更改,包括不修改默认模板。可能发生了什么?
I'm having a really weird problem. I'm trying to put an NSPredicateEditor into my interface using IB, and when I build the app it just shows up as an empty gray rectangle. This is without my applying ANY CHANGES WHATSOEVER to the defaults, including not modifying the default templates. What could possibly be going on?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当你将 NSPredicateEditor 绑定到某个属性(如 NSArrayController 的 filterPredicate)时,它的效果最好。
您在IB中设置的模板仅允许您定义规则的限制(例如允许用户选择“名字”或“姓氏”),但不定义显示的内容当控件处于“活动”状态时。
要修改“空”编辑器(数组控制器过滤器谓词或其他),请将按钮或菜单项的操作连接到编辑器视图的
-addRow:
操作。在运行时,单击此按钮将添加一个初始“规则”(遵循您在 IB 模板中指定的约束)。您甚至可以在 IB 本身中进行测试。NSPredicateEditor works best when you bind it to some property (like an NSArrayController's filterPredicate).
The template you set up in IB is only to allow you to define the limitations of the rules (such as allowing the user to choose "first name" or "last name") but does not define what appears when the control is "live."
To modify an "empty" editor (array controller filter predicate or otherwise), connect a button or menu item's action to the editor view's
-addRow:
action. At runtime, clicking this will add an initial "rule" (following the constraints you specified in your IB template). You can even test that in IB itself.