gpt4 book ai didi

objective-c - 添加到 NSScrollView 的 documentView 的 subview 未显示

转载 作者:行者123 更新时间:2023-12-03 16:41:20 25 4
gpt4 key购买 nike

我使用 IB 将 NSView 封装在 NSScrollView 中。在包含 NSScrollView 的 View (类为 NoteView)的初始化函数中,我尝试将 subview 添加到 NSView 中,如下所示:

// Initialize custom view with width 802 and height 130, call it initialSubview
// Set initialSubview's frame origin to (20.0, 580.0). documentView of scrollView
// is size (842.0, 740.0)
// Let innerView be the documentView of the scrollView (I have an IBOutlet attaching
// the scrollView's document view to innerView)

[innerView addSubview:initialSubview];

当我这样做时,什么也没有显示。同样,尝试这个:

[[[scrollView] documentView] addSubview:initialSubview];

也不起作用。但是,如果我将其添加到 contentView 中:

[[[scrollView] contentView] addSubview:initialSubview];

subview 显示正常。有任何想法吗?作为附录,如果我向 IB 中的 documentView 添加类似 NSButton 的内容,则什么也没有也出现了。

最佳答案

我发现了这个问题。看来 NSScrollView 和自动布局是自相矛盾的。解决方案是删除您的 documentView 的任何内容(在我的例子中是 insideView )从他们的 super View 中,将 TranslatesAutoresizingMaskToConstraints 设置为 no,然后重新添加 View 。代码看起来像这样:

[innerView removeFromSuperView];
[innerView setTranslatesAutoresizingMaskIntoConstraints:NO];
[scrollView setDocumentView:innerView];

然后您必须手动设置您想要的任何约束

关于objective-c - 添加到 NSScrollView 的 documentView 的 subview 未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20807445/

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