NSScrollView框架和翻转的documentView

4
我遇到了NSScrollView的问题,它没有按照我想要的方式显示。我知道网上有很多关于这个问题的帖子,我需要在我的NSView子类中覆盖isFlipped,以使其返回YES。
好的,现在我已经完成了,所以我的scrollView从上到下滚动,而不是像覆盖isFlipped之前那样反向滚动。
但这是第二部分,我的真正问题,我在网上找不到任何答案,如果一切都被翻转了,我该如何编写或在界面构建器中创建我的视图?如果我把东西放在顶部,它会显示在底部...你有什么魔法技巧来处理这个问题吗?
还有我的最后一个问题,就是NSScrollView的框架。在设置我的滚动视图的文档视图之前,一切都很好,滚动视图显示在我选择的位置,但是当我设置文档视图时,它看起来像滚动视图框架变大了,所以我必须重新调整大小....这是正常行为吗?
非常感谢。
2个回答

5
通常的解决方法是创建一个NSClipView子类,并在isFlipped:方法覆盖中返回YES:
然后在IB中,将滚动视图的内容视图(剪辑视图)设置为您的子类。

1

只有翻转视图本身适用于该准确视图的坐标系,而不是整个视图层次结构。因此,无论您直接放置在翻转内容视图中的任何内容都需要知道它已经翻转了,但其他内容则没有必要。

如果您不希望以这种方式工作,那么就不要请求进行翻转!没有规定说NSScrollView的文档视图必须被翻转,只是对于任何具有可变高度内容的内容都按从上到下的方式布局最为常见,这在翻转视图中最容易实现。如果您正在执行的布局最适合底部锚定,请保持未翻转状态,任何最简单的方法都可以。(无论如何,在Interface Builder中的所有内容都应该没问题……您是否真的见过这个问题,还是只是猜测可能会发生?我从未遇到过这个问题……)

设置文档视图不应改变NSScrollView的大小。除了这一点,您可能还有其他问题……


好的。所以如果我翻转我的documentView,我需要子类化每个添加的视图,以重写它们的isFlipped方法,对吗?而且,我认为我需要继续使用翻转的方式,因为从上到下阅读更为常见,如果我们在Pages中从底部向上滚动,会感觉很奇怪^^不,我不是在推测,我已经翻转了我的视图,并在IB中进行了设计,它会翻转绘制所有内容。谢谢。我将添加一些scrollView调整大小问题和显示翻转的IB视图的屏幕截图。因此,如果有人有想法,查看它将更容易理解。 - StrAbZ

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接