将 NSPredicateEditor 添加到 NSScrollView 时出现 UI 故障
Posted
技术标签:
【中文标题】将 NSPredicateEditor 添加到 NSScrollView 时出现 UI 故障【英文标题】:UI glitches when adding NSPredicateEditor to NSScrollView 【发布时间】:2012-07-13 17:41:33 【问题描述】:我正在尝试在 NSScrollView 中显示 NSPredicateEditor,以便用户可以使用编辑器进行无限大的查询。一切都或多或少地工作,但是只有当编辑器嵌套在滚动视图中时才会发生一些奇怪的 UI 故障,而不会发生。这是我在滚动视图中设置编辑器的方式:
predicateEditor = [[NSPredicateEditor alloc] init];
scrollView = [[NSScrollView alloc] initWithFrame:[[self view] frame]];
[scrollView setDocumentView:predicateEditor];
[scrollView setHasVerticalScroller:YES];
[scrollView setAutohidesScrollers:YES];
如果我尝试通过快速向编辑器添加行来“破坏”它,UI 会出现如下乱码:
但问题是,如果我不将编辑器嵌套在scrollView中,是不可能发生这个错误的。
重申一下,我唯一不同的是嵌套在 NSScrollView 中。我需要注意这个问题吗?
谢谢!
【问题讨论】:
我注意到您以编程方式添加滚动视图。您是否尝试过从 IB 添加它?它默认带有一个滚动视图包装器。我有一个与您的情况相当的谓词编辑器,它工作得很好...... 【参考方案1】:在测试了 Roger 的评论之后,我可以验证在 IB 中执行此操作可以达到预期的结果。我不知道为什么它不能以编程方式很好地工作,但是很好。
【讨论】:
以上是关于将 NSPredicateEditor 添加到 NSScrollView 时出现 UI 故障的主要内容,如果未能解决你的问题,请参考以下文章
如何持久化 NSPredicateEditor NSPredicateEditorRowTemplates 数据
如何更改 NSPredicateEditor 行模板中左表达式的顺序?